如何删除禁用TabBarItem IOS的​​暗淡效果

时间:2014-11-18 03:46:23

标签: ios uitabbaritem

我的应用程序是经典的TabBar应用程序。 我想禁用当前选中的TabBarItem以防止用户再次粘贴同一项目(这会导致一个小的图形故障)。

为此,我禁用当前选中的TabBar项目。

 [[[[self.tabBarController tabBar]items]objectAtIndex:currentIndex]setEnabled:FALSE];

我的问题是当我禁用该项目时。它变得部分暗淡。 因此选择了Item并将其enabled属性设置为FALSE;在这些条件下,调光器(由于setEnable:FALSE)“获胜”并且TabBarItem图像变暗而不是突出显示(因为它是当前选择的那个)。

将enable属性设置为FALSE时,有没有办法防止变暗效果? 如果没有,是否有另一种方法可以放弃选择TabBar中“当前选中”的项而不是将其Enable属性设置为FALSE?

2 个答案:

答案 0 :(得分:0)

试试这个......  在你的应用程序委托中使用此代码。这可能会有所帮助...

 [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
 [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];

答案 1 :(得分:0)

  

如果没有,是否有另一种方法可以放弃选择TabBar中“当前选中”的项而不是将其Enable属性设置为FALSE?

我认为这是更好的方法,因为您要做的就是阻止选择当前选定的项目。委托方法(UITabBarControllerDelegate)为您提供了以下需求:

func tabBarController(tabBarController: UITabBarController, 
  shouldSelectViewController viewController: UIViewController) -> Bool {
    let vc = tabBarController.selectedViewController
    if viewController == vc {
        return false
    }
    return true
}