Последовательное скрытие заголовка от панели навигации «Дополнительно» в контроллере панели вкладок - PullRequest
1 голос
/ 23 октября 2011

У меня следующая проблема.

У меня есть фоновое изображение для моего UINavigationBar, поэтому я должен скрыть все заголовки из панелей навигации.Проблема связана с панелью навигации «Дополнительно» в TabBarController.Мне удалось скрыть это, но это происходит только в первый раз, когда его показали.Когда я выбираю элемент внутри него и возвращаюсь, снова отображается «Больше».

Я предполагаю, что мне следует отключить заголовок внутри какого-то метода делегирования «viewWillAppear» для «Больше» View Controller,пока я понятия не имею, как это сделать.

Это первый раз, когда я показываю «Больше», как вы можете видеть, Логотип есть (размазан, конечно :)), однако, Больше нет: http://www.flickr.com/photos/68985587@N02/6272805069/lightbox/

Это контроллер вида первого элемента в «Больше» контроллера вида: http://www.flickr.com/photos/68985587@N02/6272805241/in/photostream/lightbox/

После того, как я нажму левую кнопку «Еще» на панели навигации, чтобы вернуться назадЯ получаю это: http://www.flickr.com/photos/68985587@N02/6273332152/in/photostream/lightbox/

Спасибо за вашу помощь!

Ответы [ 4 ]

2 голосов
/ 31 октября 2011

Решение пришло, установив делегат на контроллер more view и действуя по методу делегата.

Во-первых, я назначил делегата для контроллера представления «more» (в моем случае в appdelegate):

[tbc.moreNavigationController setDelegate:self];

Я приступил к реализации следующего метода:

-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    if([viewController.title isEqualToString:@"More" ])
    {
        UILabel *label = [[[UILabel alloc] init] autorelease];
        viewController.navigationItem.titleView = label;
        label.text = @"";   
    }

}

Это эффективно вызывается не только в первый раз, но каждый раз, когда запускается контроллер представления. Даже когда была нажата кнопка возврата.

1 голос
/ 24 октября 2011

Вы можете проверить, какая вкладка UITabBarController была нажата путем реализации метода делегата tabBar:didSelectItem: из UITabBarDelegate .Если щелкнул пятый элемент (пункт «Еще»), вы можете установить заголовок следующим образом:

[[[tabBarController moreNavigationController] visibleViewController] setTitle:@""];

Надеюсь, это работает, я не пробовал.Удачи!

0 голосов
/ 05 марта 2013

Вы можете сместить метку:

UITabBarItem *i = self.tabBarController.tabBar.items[4];
[i setTitlePositionAdjustment:UIOffsetMake(0., 300.)];

, чтобы у нее было смещение от вершины, позволяющее ей исчезнуть ...

0 голосов
/ 24 октября 2011

Я предлагаю вам посмотреть по этой ссылке здесь и здесь

Hig, в соответствии с более чем 5 значков не рекомендуется для использования.Вы можете искать ссылки для TabBar.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...