UITabBar:设置选定的索引不起作用

时间:2014-10-23 08:06:28

标签: ios objective-c uitabbarcontroller

如果没有互联网连接,我试图拒绝某个tabBarItem拉动它。

这是我的代码:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    ONLog(@"tab selected: %@", item.title);

    if (item.tag == 2) {
        if (![[InternetManager sharedManager] isInternetWorking]) {
            [self setSelectedIndex:1];
            UIAlertView *noInternet = [[UIAlertView alloc] initWithTitle:@"No Internet Connection" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [noInternet show];
        }
    }
}

问题是:正在调用警报视图,但“setSelectedIndex”没有正在进行其工作......

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

首次调用方法时,检查self.selectedItem的值。可能在调用此方法之前,所选项目实际上并未设置为已选中,因此正在调用[self setSelectedIndex:1],但会立即选择用户点击的项目。