如何删除禁用的选项卡栏项目 IOS 的变暗效果



我的应用程序是一个经典的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]];

相关内容

  • 没有找到相关文章

最新更新