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

Я работал над приложением для iPad.В этом приложении у меня есть несколько просмотров.Вот поток

Экран приветствия> Главный экран> Остальные экраны

Я применил значок (кнопку) на главной панели всех экранов.Нажатие значка «Домой» на любом экране переводит пользователя на домашний экран.Я написал следующий код в viewDidLoad класса Home

//**** Home button on navigation bar ****//
CGRect frame1 = CGRectMake(975.0, 4.0, 35, 35);
UIImage *buttonImage1 = [UIImage imageNamed:@"HomeIcon.png"];
UIButton *homeButton = [UIButton buttonWithType:UIButtonTypeCustom];

homeButton.frame = frame1;
[homeButton setBackgroundImage:buttonImage1 forState:UIControlStateNormal];
homeButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
homeButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
[homeButton addTarget:self action:@selector(goHome:) forControlEvents:UIControlEventTouchUpInside];
[homeButton setBackgroundColor:[UIColor clearColor]];

[self.navigationController.navigationBar addSubview:homeButton];

Эта кнопка работает.goHome - это имя метода, примененного в @selector.Я хочу удалить эту кнопку с главного экрана и оставить ее на остальных экранах.Я применил несколько вещей, но я не знаю, как это сделать.Это кажется очень простым, но я все еще не понимаю.Пожалуйста, руководство ..

С уважением ПК

Ответы [ 2 ]

3 голосов
/ 04 ноября 2011

В вашем «домашнем экране» метод viewDidAppear делает это:

for(UIView* view in self.navigationController.navigationBar.subviews)
{
     if(view.tag == 10)
     {
        view.hidden = YES;
     }
}

В другом контроллере View, где вы создали тег кнопки для кнопки home, равным 10.

/**** Home button on navigation bar ****//
CGRect frame1 = CGRectMake(975.0, 4.0, 35, 35);
UIImage *buttonImage1 = [UIImage imageNamed:@"HomeIcon.png"];
UIButton *homeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[homebutton setTag:10]; // Set tag to 10 or any value
homeButton.frame = frame1;
[homeButton setBackgroundImage:buttonImage1 forState:UIControlStateNormal];
homeButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
homeButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
[homeButton addTarget:self action:@selector(goHome:) forControlEvents:UIControlEventTouchUpInside];
[homeButton setBackgroundColor:[UIColor clearColor]];

[self.navigationController.navigationBar addSubview:homeButton];

А у тебя viewDidAppear: этого другого вида Controller:

for(UIView* view in self.navigationController.navigationBar.subviews)
{
    if(view.tag == 10)
    {
      view.hidden = NO;
    }
}
1 голос
/ 04 ноября 2011

Попробуйте это:

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