1

当用户触发一个标签栏项目时,我想显示一个模态视图控制器。

我有一些工作,但这可能不是最干净的方法。它还可以防止 UITabBarItem 处于选中状态。

我所做的是将此方法设置为 false 并在该方法主体中呈现视图控制器(通过 RootViewController)。

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
    UINavigationController *nvc = (UINavigationController*)viewController;

你们有什么想法可以让 TabBarItem 被突出显示吗?

4

1 回答 1

0

这是在标签栏上使用 MVC 的一种方法......像这样突出显示标签栏项目。

当前选择的id;//这将保存所选视图id的地址 dontAllowSelection; //这将保存拒绝视图的地址

  • (BOOL)tabBarController:(UITabBarController *)tabBarControllers shouldSelectViewController:(UIViewController *)viewController

{

if (dontAllowSelection != nil && //如果是nil,我们将跳过它。dontAllowSelection == viewController) //如果选择的视图被拒绝返回NO {

返回否;

}

当前选择 = 视图控制器;

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;

}

于 2012-08-31T05:40:32.600 回答