我有一个从UIViewControler派生的视图(不是UITabBarController)。在此视图中,我添加了一个带有多个标签栏项的标签栏。我使用UITabBarDelegate允许视图在用户点击每个标签栏项时执行某些操作。
class MyViewController: UIViewController, UITabBarDelegate {
func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) {
// do something
}
}
我的问题是我们如何在首次加载视图时以编程方式选择第一个标签栏项?请注意,我希望第一个标签项也处于“活动”状态。
同样,我没有使用UITabBarController
由于
答案 0 :(得分:34)
[tabBar setSelectedItem: [tabBar.items objectAtIndex:0]];
我认为应该是快速的:
tabBar.selectedItem = tabBar.items![0] as UITabBarItem
答案 1 :(得分:10)
斯威夫特3:
tabBarController.selectedIndex = 0 // (or any other existing index)
答案 2 :(得分:3)
在swift中如果使用tabbar而不是tabbarcontroller设置默认选择
var tabbar:UITabBar?//if declare like this
tabbar!.selectedItem = self.tabbar!.items![0] as? UITabBarItem
或
let tabbar = UITabBar()//if declare and initilize like this
tabbar.selectedItem = self.tabbar.items![0] as? UITabBarItem
答案 3 :(得分:2)
如果您在UITabBarController中,可以使用self.selectedIndex = // set target index
答案 4 :(得分:0)
在viewDidLoad事件
上选择活动标签栏项目之前[self.tabBar setSelectedItem:[self.tabBar.items objectAtIndex:0]];
答案 5 :(得分:0)
在Xamarin.ios中,我们可以像这样使用 mainTabBarController.selectedIndex = 3;