У меня есть UIViewController
с несколькими подпредставлениями в свойстве view (UISearchbar
и несколько UIButton
s). UIButton
s подключены к типичным IBAction
s, как -(IBAction)buttonPressed:(id)sender
для состояния UIControlEventTouchUpInside
- не имеет значения, делаю ли я это в IB или программно.
- (void)viewDidLoad {
MUZTitleViewController *title = [[MUZTitleViewController alloc]
initWithNibName:nil bundle:nil];
self.navigationItem.titleView = title.view;
}
В моем проекте также есть UINavigationController
. Когда я устанавливаю navigationItem.titleView
из UINavigationBar
на вид моего UIViewController
вида, я получаю исключение EXC_BAD_ACCESS, как только я нажимаю одну из кнопок. Я не знаю, почему это так.
Я загрузил небольшой пример проекта, чтобы проиллюстрировать свою проблему: Test010.xcodeproj (включен ARC)
Все больше и больше я прихожу к выводу, что не стоит использовать вид UIViewController
и присваивать его titleView
, но я не вижу здесь альтернативы.
Редактировать: Извините, пример проекта закомментировал вызов, который вызывает исключение. Я заново загрузил связанный файл проекта.
Редактировать ^ 2: Как указал PengOne, я пропустил точное сообщение об ошибке, которое я получил:
2011-09-10 23:09:50.621 Test010[78639:f803] -[CALayer buttonPressed:]: unrecognized selector sent to instance 0x9254ae0
2011-09-10 23:09:50.623 Test010[78639:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CALayer buttonPressed:]: unrecognized selector sent to instance 0x9254ae0'