Добавить UIToolbar как ошибку UINavigationItem
У меня есть UIToolbar, который находится внизу представления. Когда пользователь находится на iPad, я хочу добавить панель инструментов в правой части контроллера навигации, потому что там будет место.
Я добавил этот код:
- (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 кнопок, это может иметь значение?
Спасибо!
1 ответ
UIBarButtonItem - это один из элементов управления, который находится внутри панели инструментов. Вы уверены, что делаете? Я не могу следить за тем, что вы говорите, но похоже, что вы пытаетесь добавить панель инструментов внутри UIBarButtonItem. Это должно быть наоборот, UIbarButtonItem живет внутри UIToolbar