回答
您可以使用这两种方法之一:
tabBar.items = tabBarItems;
tabBar.selectedItem = [tabBarItems objectAtIndex:0];
或在对象
[tabBar setSelectedItem:myUITabBarItem];
的直接方法,或者你可以结合他们这样做的:
tabBar.items = tabBarItems;
[tabBar setSelectedItem:[tabBarItems objectAtIndex:0]];
但我还没有测试过该方法,希望这有助于!
如何为tabbar控制器创建插座属性?请让我知道,因为我是故事板的新手 –
是的,我个人吮吸故事登机,我可以给你发送一些代码,如果你想要吗? –
让我试着找到确切的代码,并把它放在pastebin,否则生病压缩它,并在我的网站上 –
下面的代码为我工作:
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
tabBarController.selectedIndex = 2;
此代码假定rootViewController是tabBarController。这可能并非总是如此。 – oyalhi
- 创建的
UITabBarController
一个新的文件子类;在你的故事板的UITabBarController
self.selectedIndex = 1;
设置这个新的文件作为自定义类:
在
viewDidLoad
末尾添加这一点。
你完成了。
伟大的解决方案完美地工作! – sabir
虽然你可以设置初始选择的标签编程像其他的答案,实现你的故事板一样不碰代码,你将执行以下操作:
- 在故事板界面 选择标签栏控制器
- 显示身份检查的工具面板
- 添加一个新的“用户自定义运行属性”
- 将重要途径“的selectedIndex”
- 将类型设置为“数字”
- 将值设置为你想要选择的选项卡的索引(值1将选择例如第二个选项卡)
- 保存故事板,建立并运行应用程序
这应该是个什么样子,你已经取得了上述步骤时,如:
这在Xcode 6.3,iOS 8中失败。 – friedbunny
这对Xcode 6.3.1,iOS 8.3中的我仍然适用 - 有关Jason的问题的更多详细信息? –
在这种情况下,我可能会感到奇怪;这是'_NSSetUsingKeyValueSetter'上的崩溃:http://pastie.org/10185899 – friedbunny
似乎有点小题大做了一些子类UITabBarController
,但是,我认为它提供了干净的小号olution。
- 创建
BaseTabBarController.swift
添加
@IBInspectable
并将其设置在viewDidLoad
:class BaseTabBarController: UITabBarController { @IBInspectable var defaultIndex: Int = 0 override func viewDidLoad() { super.viewDidLoad() selectedIndex = defaultIndex } }
在故事板,设置你
UITabBarController
是你的新的子类:
- 转到属性检查员添加集的新的属性缺省索引:
- た - 天! (:
实际上它是一种极好的可重用性解决方案,并且足够灵活,仍然可以在需要时在代码中进行管理。 – brandonscript
梦幻般的解决方案@Aviel。谢谢。 – iamyogish
Annnd BOOM!有炸药 - 这工作(Xcode 7.3.1)。谢谢 – Jeeves
中的appdelegate找到applicationDidBecomeActive
功能并添加此行
let tabBarController = self.window?.rootViewController as! UITabBarController
tabBarController.selectedIndex = 0 // any index you want
在TabBarController
的viewDidLoad()
,设为selectedIndex
到任何你想要的(0
将是第一个,3
将是第四等)
您可以通过Xcode 8或更高版本(只是测试它,不知道它在此版本之前是否可用)实现此目的
执行步骤@Joshua芬奇说,但:
- 选择,而不是
- 得到了“用户定义运行属性”
- 添加新的关键
- 将它命名为“中所选的TabBar的栏项目“
- 其类型设置为布尔值,并选择真/或选中复选框
“xcode 8或之前的版本”:您是否确实是指“之前”?这似乎与以下句子相矛盾:“如果它在此版本之前可用,则不知道”。也许你的意思是“8或更高”? –
大厦在Aviel总的回答,I J ust想要实现这个UITabBar,而不是UITabBarController。这可以做到如下:
class BaseTabBar: UITabBar {
@IBInspectable var defaultIndex: Int = 0 {
didSet {
self.selectedItem = self.items?[defaultIndex]
}
}
}
- 1. 设置默认选项卡
- 2. 标签栏和故事板:更改默认选项卡
- 3. 用jQuery Tools设置默认选项卡
- 4. jquery选项卡如何使用tabname使用select来设置默认选项卡:
- 5. 设置CSS/JS选项卡的默认选择选项卡
- 6. 设置PagerSlidingTab库的默认选项卡
- 7. 在Android中设置默认选项卡?
- 8. 在ionic2中设置默认选项卡
- 9. 如何将选项卡设置为默认选项卡
- 10. 为GXT选项卡设置默认选项卡
- 11. 在jQuery UI选项卡中设置默认焦点选项卡
- 12. 如何设置一个默认选项卡使用jQuery UI
- 13. 如何使用目标设置默认选项卡?
- 14. 如何在Dreamweaver中使用javascript在选项卡式面板中设置默认选项卡
- 15. 如何设置选项卡2在启动选项卡页面设置为默认选项卡
- 16. 为片段/ ViewPager设置设置默认选项卡
- 17. 加载页面时的默认选项卡设置
- 18. jqyery选项卡默认选项卡
- 19. 在故事板中设置选项卡栏控制器中的选定图像
- 20. Xcode故事板选项卡式应用程序(UITabBarController) - 告诉选择选项卡
- 21. AngularJS设置默认选项 - ng选项
- 22. 设置默认选项卡/页面选择
- 23. 设置故事板选项卡控制器,更多选项卡的导航栏颜色
- 24. 故事板 - 设置代表
- 25. Wicket:调色板设置默认选择
- 26. 使选项卡第二个选项卡点击默认
- 27. 当给出选项时设置optionparser的默认选项
- 28. Xcode 5.没有故事板的选项卡式应用程序?
- 29. 引用到故事板中的当前选项卡UITabBarController
- 30. Xcode:故事板选项卡式应用程序传回数据
你是什么意思默认选项卡?您是否使用tabBarController并尝试在应用启动时选择第一个选项卡? –
请确保您的问题是描述性的,并提高您的接受率。 –
我使用故事板创建了一个选项卡式应用程序,并且希望将其设置为在应用程序启动时选择第二个选项卡。 – user1145581