取消选择或取消选择iOS 5中标签栏中的所有标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取消选择或取消选择iOS 5中标签栏中的所有标签相关的知识,希望对你有一定的参考价值。

我是ios开发的新手,我直接从IOS 5开始。我创建了一个故事板,其中包含一个tabview控制器作为其rootviewcontroller。我已经放了两个标签。

我想最初取消选择/取消选中所有标签。我该怎么做呢?我尝试了以下内容

 UIView *view = [[UIView alloc]initWithNibName:@"view" bundle:[NSBundle mainBundle]];
    [self.tabBarController setSelectedViewController:nil];
    [self.tabBarController setSelectedViewController:view];

我添加了标识符“view”的视图。

但这不起作用,它给出了错误:

 unrecognized selector sent to instance

我也试过以下

[self.tabBarController.tabBar setSelectedItem:nil];

但它说

'NSInternalInconsistencyException',原因是:'不允许直接修改由标签栏控制器管理的标签栏。'

我已在第一个选项卡的控制器中尝试了此代码。我想这样做是因为我想在第一个标签视图的顶部放置一个默认视图,并在下面任何一个标签上单击使用后隐藏它。

答案

我用它来清除任何选中的tabBarItems

[myTabBar setSelectedItem:nil];
另一答案

老问题。仅作为记录,如果Tab Bar由TabBarController管理,则无法取消选择所有选项卡。方法:

[self.tabBar setSelectedItem:nil];

仅当选项卡栏不是从选项卡栏控制器管理时才有效。如果是,则无法取消选择所有选项卡,必须始终选择一个选项卡。

另一答案

这有点不好意思。但我只是将-viewWillAppear中的色调颜色设置为灰色,当我希望它看起来没有选择时,然后在我想要显示选择时将色调颜色设置回“选定”颜色。

// since we cant turn off tabbar selection, change the color to make
// it look like nothing was selected.
self.tabBarController.tabBar.tintColor = [UIColor grayColor];  
-----------
// make sure tintcolor is turned on (just in case another module turned it off
self.tabBarController.tabBar.tintColor = self.view.tintColor;
另一答案

我找到了一个解决方案可能不是最好的方法,但它对我有用([self.tabBar setSelectedItem:nil];没有)。我将我的标签视图放在父视图(myTabBarViewContainer)中,然后当我想取消选择我的项目时,我在父视图上调用removeFromSuperview并重新初始化它:

[self.myTabBarViewContainer.view removeFromSuperview];

然后重新启动它和Voila!

不是很漂亮,但它有效......

另一答案

您应该使用UITabBar。不是UITabBarController

取消选择或取消选择tabbar项swift 3.0

tabbar_Main.selectedItem = nil

以上是关于取消选择或取消选择iOS 5中标签栏中的所有标签的主要内容,如果未能解决你的问题,请参考以下文章

QTableView 中标题单元格中的复选框

IOS 7中标签栏图标的选定状态

swiftUI中标签栏的圆角?

ios UICollectionView 单元格选择和取消选择问题

当一个或多个项目被取消选择时,knockoutjs 取消选择/选择所有复选框

选择/取消选择所有复选框 WIN32