我的应用程序是经典的TabBar应用程序。 我想禁用当前选中的TabBarItem以防止用户再次粘贴同一项目(这会导致一个小的图形故障)。
为此,我禁用当前选中的TabBar项目。
[[[[self.tabBarController tabBar]items]objectAtIndex:currentIndex]setEnabled:FALSE];
我的问题是当我禁用该项目时。它变得部分暗淡。 因此选择了Item并将其enabled属性设置为FALSE;在这些条件下,调光器(由于setEnable:FALSE)“获胜”并且TabBarItem图像变暗而不是突出显示(因为它是当前选择的那个)。
将enable属性设置为FALSE时,有没有办法防止变暗效果? 如果没有,是否有另一种方法可以放弃选择TabBar中“当前选中”的项而不是将其Enable属性设置为FALSE?
答案 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
}