У меня есть UIToolbar, который находится внизу представления. Когда пользователь находится на iPad, я хочу добавить панель инструментов в правую часть навигационного контроллера, потому что будет место.Добавить UIToolbar в качестве ошибки UINavigationItem
Я добавил этот код:
- (void)viewDidLoad{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
UIBarButtonItem *toolBarItem = [[UIBarButtonItem alloc]initWithCustomView:toolBar];
self.navigationItem.rightBarButtonItem = toolBarItem;
}
[super viewDidLoad];
}
Но сбой приложения с ошибкой:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. UINavigationBar's implementation of -layoutSubviews needs to call super.'
Я не знаю, почему это проблема, потому что я видел этот метод использовался ранее , Кстати, элементы панели инструментов добавляются в конструктор интерфейса, а не с помощью NSArray кнопок, может ли это иметь значение?
Спасибо!
Где вы обычно объявляете UIBarButtonItem? – Dustin
PLZ показать нам коды инструментов и инициализации. –
и у вас есть [super viewDidLoad]; в вашем методе viewDidLoad? –