问题描述
我尝试根据所选按钮标签更改 Tabbar 所选项目。但没有任何反应。这是我的按钮控件类。
class ButtonControl {
public func controlMoreButtons(sender:UIButton){
let board = UIStoryboard.init(name: "Main",bundle: nil)
let tabbar = board.instantiateViewController(identifier: "mainTabBar") as! MainTabBarController
let tag = sender.tag
switch tag {
case 1:
tabbar.selectedindex = 2
print("1")
case 2:
print("2")
case 3:
print("3")
default:
print("unkNown")
}
}
}
这是我的按钮操作:
@IBAction func seeMoreButtonClicked(_ sender: UIButton) {
let buttonControl = ButtonControl()
buttonControl.controlMoreButtons(sender: sender)
}
解决方法
1- 添加
class ButtonControl {
weak var tab:UITabBarController?
2- 然后
let buttonControl = ButtonControl()
buttonControl.tab = self.tabBarController
3- 最后
tab.selectedIndex = sender.tag
并将这部分完全删除,因为它是一个新实例
let board = UIStoryboard.init(name: "Main",bundle: nil)
let tabbar = board.instantiateViewController(identifier: "mainTabBar") as! MainTabBarController