我想我在UIKit中发现了一个错误,但首先我要确定我不是疯了。
我有一个标签栏,里面有一个禁用的tabBarItem。如果我在标签栏中显示操作表,则取消/按下其中的任何按钮,在操作表关闭标签栏项出现后启用,但无法单击。
我希望它能够保持禁用状态。
我上传了example project here。在模拟器中运行它,然后按第一个视图控制器上的操作表按钮。请注意工作表出现之前和之后的第二个标签栏项的状态。该项目本身是一个标准的“选项卡式应用程序”模板,其中一个选项卡项已禁用,并且该按钮的IBAction已添加。
这是一个错误,还是我滥用了API?
答案 0 :(得分:0)
看起来像是一个错误......
作为一种快速安全的解决方法,将其添加到视图控制器中(假设它将是UIActionSheet的委托)
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
for (UITabBarItem *item in self.tabBarController.tabBar.items) {
item.enabled = !item.enabled;
item.enabled = !item.enabled;
}
}
答案 1 :(得分:0)
我检查了你的项目并找到了一种方法让它工作。 But I don't know actually is it a bug or not.
我发现,只有当您使用actionsheet
:方法显示方法中的showFromTabbar
时,才会发生这种情况。
[sheet showFromTabBar:self.tabBarController.tabBar];
当我将其更改为仅在此视图中显示时,则不会更改tabBarItem图像。
[sheet showInView:self.view];
希望这可以帮助您继续开展该项目。