Настройте пользовательскую кнопку "Назад" на панели навигации iPhone

У меня есть UIView с NavigationBar, и я бы хотел добавить кнопку, которая похожа на стиль кнопки "Назад". Я не использую UINavigationController и задавался вопросом, можно ли это сделать без него?

Стиль кнопки должен выглядеть так: alt text

Спасибо

Ответ 1

Вам нужно настроить собственный стек объектов 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.

Ответ 2

Вы также можете обновить это, изменив backBarButtonItem на предыдущем контроллере представления (не просматриваемом в данный момент).