Сбой установки нескольких UIBarButtonItems на устройстве, но не на симуляторе - PullRequest
3 голосов
/ 01 ноября 2011

Я постоянно сталкиваюсь с недопустимым селекторным исключением, когда пытаюсь установить несколько UIBarButtonItems в MonoTouch.

В симуляторе проблем вообще нет. Каждая добавленная мной кнопка работает правильно. Только при развертывании на тестовом устройстве (iPhone 3G с установленной iOS 4.2.1) выдается эта ошибка:

- [UINavigationItem setRightBarButtonItems: animated:]: нераспознанный селектор, отправленный экземпляру 0xef7af0

Я пытался использовать свойство RightBarButtonItems и явный метод SetRightBarButtonItems, передавая экземпляр UIBarButtonItem [] в каждом случае.

Возможно, способ обойти это - использовать панель инструментов с настраиваемым представлением, но я бы предпочел просто использовать API, как объявлено, особенно если он работает правильно в симуляторе.

Кто-нибудь сталкивался с этим?

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Я предполагаю, что вы используете MonoTouch 5.0 и последнюю версию iOS SDK (5) и Xcode 4.2.

Селектор setRightBarButtonItems:animated: является новым в iOS5.Это означает, что он будет работать в симуляторе, который по умолчанию имеет значение 5.0 .Однако это не будет работать в старых версиях iOS (например, как 4.2.1).

На этом этапе у вас есть два варианта:

  • избегать функций iOS5;или

  • во время выполнения определит, какая версия iOS используется, и настройте приложение на доступное.

0 голосов
/ 01 ноября 2012

Проверьте это: http://osmorphis.blogspot.com/2009/05/multiple-buttons-on-navigation-bar.html

Это работает, если вы хотите добавить несколько правых кнопок для iOS <5.0 </p>

...