Aza*_*lla 47 xcode uitabbarcontroller swift
我有一个标签栏应用程序,我在我的第一个视图上有一个按钮,我想在按下时在标签栏中以编程方式切换到我的第二个标签.
我似乎无法弄清楚如何让索引等切换到它我尝试过这样的东西.
tababarController.selectedIndex = 1
Run Code Online (Sandbox Code Playgroud)
没有成功.
Leo*_*bus 103
这很简单的tabBarController被声明为可选类型
var tabBarController: UITabBarController? { get }
Run Code Online (Sandbox Code Playgroud)
视图控制器层次结构中最近的祖先是标签栏控制器.如果视图控制器或其祖先之一是选项卡栏控制器的子项,则此属性包含拥有选项卡栏控制器.如果视图控制器未嵌入标签栏控制器内,则此属性为nil.
所以你只需要添加"?" 最后:
@IBAction func goToSecond(_ sender: Any) {
tabBarController?.selectedIndex = 1
}
Run Code Online (Sandbox Code Playgroud)
小智 9
更新了Anthony对Swift3的回答
func switchToDataTab() {
Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(switchToDataTabCont), userInfo: nil, repeats: false)
}
func switchToDataTabCont(){
tabBarController!.selectedIndex = 0
}
Run Code Online (Sandbox Code Playgroud)
小智 6
Leo Dabus提供的解决方案(见上文)对我来说很好用。但是-一些控件的状态很差。无法解决此问题,但是这个小解决方法对您都有好处:
func switchToDataTab(){
NSTimer.scheduledTimerWithTimeInterval(0.2,
target: self,
selector: "switchToDataTabCont",
userInfo: nil,
repeats: false)
}
func switchToDataTabCont(){
tabBarController!.selectedIndex = 0
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51957 次 |
| 最近记录: |