当用户触发标签栏项目时,我想显示一个模态视图控制器。
我有一些工作,但它可能不是最干净的方法。它还可以防止UITabBarItem处于选中状态。
我所做的是将此方法设置为false,并在显示视图控制器的方法体中(通过RootViewController)。
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
UINavigationController *nvc = (UINavigationController*)viewController;
你们有没有想过更清晰的实现,这将允许TabBarItem突出显示?
答案 0 :(得分:0)
这是在标签栏上使用MVC的方法之一...突出显示标签栏项目。
id currentSelected; //这将保存所选视图的地址 id dontAllowSelection; //这将保留拒绝视图的地址
{
if(dontAllowSelection!= nil&& //如果它是零,我们将跳过它。 dontAllowSelection == viewController)//如果所选视图被拒绝,则返回NO {
返回NO;
}
currentlySelected = viewController;
if (currentlySelected == someViewIWantToDisableOtherFor) //Any logic can go here to enable the Denied View.
{
dontAllowSelection = anotherViewIWantDisabled; //Set my denied view.
}
else
{
dontAllowSelection = nil; //Unsed the Denial.
}
return YES;
}