Как отобразить кнопку возврата в навигационном приложении? - PullRequest
0 голосов
/ 04 октября 2009

Я нажимаю на таблицу в навигационном приложении. Представление pushing (viewOld) и представление push (viewNew) являются UITableViewControllers. Я дал viewNew заголовок от viewOld. Когда появится viewNew, я вижу заголовок, но слева нет кнопки «Назад». Не должна ли появляться кнопка «Назад» после того, как вы даете представлению (viewNew) его название?

Я могу щелкнуть пустое место слева от панели навигации в viewNew, и я возвращаюсь в viewOld. Но почему кнопка назад не видна? Я делаю это в OS 3.0, но не думаю, что функциональность или поведение кнопки «назад» изменилось по сравнению с предыдущими версиями.

Нажатие на просмотрНовый от просмотраСтарый:

ViewNew * viewNew = [[ViewNew alloc] initWithNibName:@"ViewNew" bundle:nil];
viewNew = @"The new view";
[self.navigationController viewNew animated:YES];
[viewNew release];

Ответы [ 2 ]

2 голосов
/ 04 октября 2009

Кнопка «Назад» является заголовком viewOld, если viewOld не имеет backBarButtonItem набора, который переопределяет его. Если viewOld не имеет заголовка и не установлен backBarButtonItem, кнопка возврата не появится.

Обратите внимание, что если вы хотите установить backBarButtonItem, то target и action должны быть оба nil.

1 голос
/ 29 июля 2010

У меня была такая же проблема: текст кнопки «Назад» был скрыт, но он работал при нажатии слева.

Итак, я нашел это :

Я только что видел это на днях. Что мне показалось интересным, так это то, что касание в области, где кнопка «Назад» должно было работать. Я наконец решил, что это связано с текстом кнопки «Назад». Он извлекает текст из заголовка родительского контроллера представления. Если заголовка нет, текст для кнопки отсутствует, и кажется, что Apple заставила его не отображать кнопку, если текст отсутствует. Итак, либо укажите заголовок на родительском контроллере, либо, если вы этого не хотите, я полагаю, вы можете указать текст, который будет отображать кнопка возврата (это указывается в родительском контроллере представления, а не в дочернем).

Это было все!

...