【发布时间】:2018-06-28 04:27:00
【问题描述】:
我正在使用 Swift 4 和 XCode 9。我正在尝试以编程方式控制我的 UITabBarController 中的导航。根据Apple's documentation,我需要实现UITabBarControllerDelegate协议。但是,我实现的方法从未被调用:
import UIKit
class TabBarController: UITabBarController, UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
tabBarController?.delegate = self
}
func tabBarController(_ tabBarController: UITabBarController,
shouldSelect viewController: UIViewController) -> Bool {
print("Should go here...")
return true
}
}
知道我做错了什么吗?
【问题讨论】:
-
我怀疑存在一些印刷错误,导致您的方法与要覆盖的委托方法不匹配,但我找不到差异
-
@Alexander 委托中的所有方法都是可选的,因此不需要
override关键字。问题得到了正确回答,我没有正确初始化控制器。
标签: ios swift uitabbarcontroller