У меня есть UIView с панелью навигации, и я хотел бы добавить кнопку, которая выглядит в стиле кнопки «Назад». Я не использую UINavigationController, и мне было интересно, можно ли это сделать без него?
Стиль кнопки должен выглядеть так:
Спасибо
У меня есть UIView с панелью навигации, и я хотел бы добавить кнопку, которая выглядит в стиле кнопки «Назад». Я не использую UINavigationController, и мне было интересно, можно ли это сделать без него?
Стиль кнопки должен выглядеть так:
Спасибо
Вам необходимо создать собственный стек из UINavigationItem
объектов и поместить их в UINavigationBar. Это единственный известный мне способ получить настоящую кнопку возврата. Я не тестировал этот код, но вы должны сделать что-то вроде этого:
UINavigationItem *previousItem =
[[[UINavigationItem alloc] initWithTitle:@"Back title"] autorelease];
UINavigationItem *currentItem =
[[[UINavigationItem alloc] initWithTitle:@"Main Title"] autorelease];
[navigationBar setItems:[NSArray arrayWithObjects:previousItem, currentItem, nil]
animated:YES];
Чтобы обрабатывать нажатие кнопок, вы должны установить себя в качестве делегата панели навигации и реализовать делегаты UINavigationBarDelegate.
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Cannot manually set the delegate on a UINavigationBar managed by a controller.'
- person stigi; 25.03.2013
Вы также можете обновить это, изменив backBarButtonItem
на предыдущем контроллере представления (не просматриваемом в данный момент).