iPhone / iPad - проблемы с кнопкой NavigationBar? - PullRequest
0 голосов
/ 13 января 2011

В моем приложении я добавил кнопку в NavigationBar следующим образом ..

UIBarButtonItem *more=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"search-25by25.png"] style:UIBarButtonItemStylePlain target:self action:@selector(SelectMission:)];

self.navigationItem.rightBarButtonItem = more;

Когда я нажимаю на кнопку, приложение выключается ...

Если я делаю то же самоенормальная кнопка, она работает нормально, может кто-нибудь помочь мне, почему она ведет себя так?

Ответы [ 3 ]

0 голосов
/ 13 января 2011

Попробуйте

UIImage * i = [UIImage imageNamed: @ "Поиск-25by25.png"];

  UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
  myButton.bounds = CGRectMake( 0, 0, i.size.width, i.size.height );    
  [myButton setImage:i forState:UIControlStateNormal];
  [myButton addTarget:self action:@selector(SelectMission:) forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem * more = [[UIBarButtonItem alloc] initWithCustomView: myButton]; self.navigationItem.rightBarButtonItem = больше;

надеюсь, это поможет:)

0 голосов
/ 13 января 2011

Судя по журналу сбоев в вашем комментарии, я бы сказал, что это не имеет никакого отношения, в частности, к классу UIBarButtonItem и всему, что связано с вашим обработчиком действий.Журналы сбоев рассказывают всю историю: ваш класс не реализует метод с именем SelectMission: он принимает один аргумент.Некоторые предостережения о ключевом слове @selector, которые вы захотите перепроверить:

1) Капитализация.Убедитесь, что вы используете метод SelectMission :.Не выбирайте миссию :, выберите разрешение :, выберите разрешение: и т. Д.

2) Аргументы.Двоеточие указывает, что метод SelectMission: принимает один аргумент.Если вы реализовали его и забыли аргумент, он завершится с исключением, которое вы опубликовали.

Это должно помочь сузить проблему.

0 голосов
/ 13 января 2011

Вы смотрели в коде для SelectMission:?Код, который вы опубликовали, предназначен только для представления кнопки, которая, по вашему описанию, работает.

Кроме того, если что-то было сброшено в консоль (Command-Shift-R)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...