以编程方式更改tabBar不起作用(self.tabBarController.selectedIndex = tabBarIndex :)

时间:2013-11-23 18:14:51

标签: objective-c ios7 uitabbarcontroller tabbar

我正在做一个联系人应用程序,所以在一个页面中,如果没有联系我需要它不要打开,所以我在viewWillAppear中设置了一个if。一切都很好用:当我选择此选项卡时,一个警告告诉我没有添加联系人并且标签更改,但视图不会 ![在此输入图像说明] [1]

https://cloudup.com/cZDl8XW1aun(截图链接)

我做了一个测试,如果我将更改的tabBar代码放在除ViewDidLoad或ViewWillAppear之外的其他地方,它可以工作,但我不想这样。

抱歉我的英语不好或者如果我犯了一个白痴错误,我就是个菜鸟。

if (contacts.count == 0)
{
    UIAlertView *alerta = [[UIAlertView alloc] initWithTitle:@"Attentione" message:@"You doesn't have any contacts added" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

    [alerta show];

    self.tabBarController.selectedIndex = 1;

}
else
{

... 。 .. .. 。 }

1 个答案:

答案 0 :(得分:0)

请务必调用代码以从viewDidLoad方法设置所选索引:

- (void)viewDidload
{
  [super viewDidLoad];

  // Call from viewDidload 
  [self.tabBarController setSelectedIndex:1];
}