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

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

Стиль кнопки должен выглядеть следующим образом: альтернативный текст

Спасибо

2 ответа

Решение

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

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

Другие вопросы по тегам