我的应用程序是一个经典的TabBar应用程序。我想禁用当前选定的 TabBarItem 以防止用户再次录制同一项目(这会导致一个小的图形故障)。
为此,我禁用了当前选定的选项卡栏项目。
[[[[self.tabBarController tabBar]items]objectAtIndex:currentIndex]setEnabled:FALSE];
我的问题是当我禁用该项目时。它变得部分变暗。因此,将选择该项,并将其启用属性设置为 FALSE;在这些情况下,调光器(由于 setEnable:FALSE)"获胜",并且 TabBarItem 图像变暗而不是突出显示(因为它是当前选择的图像)。
有没有办法防止将启用属性设置为 FALSE 时变暗的效果?如果没有,除了将其 Enable 属性设置为 FALSE 之外,是否有其他方法可以放弃对 TabBar 的"当前选定"项的选择?
如果没有,除了将其 Enable 属性设置为 FALSE 之外,是否有其他方法可以放弃对 TabBar 的"当前选定"项的选择?
我认为这是更好的方法,因为您要做的只是阻止选择当前选定的项目。委托方法(UITabBarControllerDelegate)为您提供了以下需求:
func tabBarController(tabBarController: UITabBarController,
shouldSelectViewController viewController: UIViewController) -> Bool {
let vc = tabBarController.selectedViewController
if viewController == vc {
return false
}
return true
}
试试这个... 在您的应用程序代表中获取此代码。这可能会有所帮助...
[[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]];
[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]];