Нарисовать пользовательскую кнопку «Назад» на панели навигации iPhone - PullRequest
10 голосов
/ 23 ноября 2010

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

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

Спасибо

Ответы [ 2 ]

16 голосов
/ 23 ноября 2010

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

1 голос
/ 23 ноября 2010

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

...