Панель вкладок Элементы, выбранные на вкладке «Дополнительно ...», получают заголовок «Элемент» - PullRequest
0 голосов
/ 29 ноября 2011

У меня есть делегат приложения, который также является UINavigationControllerDelegate (и я попытался установить его как UITabBarControllerDelegate и UITabBarDelegate, прежде чем спрашивать, будет ли это запускать что-то, чтобы работать, но ...).

В mainwindow.xib у меня есть панель вкладок с 6 элементами, которые делятся на 4 + еще одна вкладка, которая переходит в стандартный вид с двумя оставшимися вкладками (в списке).

Эта панель вкладок имеет контроллер, который является корневым контроллером над контроллером nav и называется rootCt.

Теперь проблема заключается в том, что при выборе вкладок в окне More nav ctlr заголовок выбранного контроллера представления равен nil, показывая «Item» вместо заголовка вкладки.

Я хотел бы получить заголовок, установленный в IB, так как я сделал локализованные кончики.То есть, просто название, которое вы нажимаете в представлении Больше.

Я пробовал:

UITabBarItem *item=[[appd rootCt].tabBar.items objectAtIndex:4];
NSString *str=[item title];
self.title=str;

Но это дает ноль.Изменение индекса на 3 дает 3-й заголовок правильно, а 5 приводит к сбою.

Пробовал:

NSString *str=[appd rootCt].selectedViewController.title;

Это также дает ноль, потому что он еще не установлен - вот что Мне нужно установить в этом коде.

Я не могу использовать selectedViewController.title, поскольку это ноль, и это то, что я пытаюсь установить.Правильно?

Как получить заголовок выбранной вкладки в представлении «Дополнительно»?Должно ли это быть так сложно?Или я что-то упустил очевидное ...

Ответы [ 2 ]

0 голосов
/ 17 октября 2012

Это должна быть ссылка на потерянную розетку или что-то подобное.Удаление .xib и повторение работы решили ее.

0 голосов
/ 29 ноября 2011

Прежде всего, где вы пытаетесь запустить код, который вы вставили выше?Нам, вероятно, нужно больше подробностей, чтобы помочь вам в этом.

Правильное место для установки заголовка (если вы хотите перезаписать то, что установлено в xib, что не похоже на то, что вы хотите!)в UIViewController, который отображается, в его viewDidLoad или viewDidAppear методах.Если вы используете viewWillAppear, возможно, он еще не установлен.

Но мне действительно кажется, что ваша xib настроена неправильно.

Еще один вопрос для вас - какой шаблон сделалвы начинаете с Xcode?Значительно сложнее настроить все это вручную, чем использовать стандартный шаблон.

...