如果没有互联网连接,我试图拒绝某个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”没有正在进行其工作......
有什么想法吗?
答案 0 :(得分:0)
首次调用方法时,检查self.selectedItem的值。可能在调用此方法之前,所选项目实际上并未设置为已选中,因此正在调用[self setSelectedIndex:1],但会立即选择用户点击的项目。