我正在用自定义选项卡栏构建应用程序。其中一个按钮不会选择相应的视图控制器,而是会触发一些自定义代码(如模式打开)。比较UIViewController实例
我子类的UITabBarController有以下几点:
import UIKit
class MyTabBarController: UITabBarController, UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
delegate = self
}
func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool {
if (viewController == self.viewControllers[2]) {
return false
}
return true
}
}
然而,对比viewController == self.viewControllers[2]
似乎并没有工作。我得到以下错误:
Could not find an overload for
==
that accepts the supplied arguments
完全被新的斯威夫特,我找不到解释如何具体实例比较的对象,或任何材料,如果这是做所有正确的方式。
如何更改此代码以使其工作?
你为什么继承UITabBarController?要做到这一点,你需要做的是实现委托方法 – Paulw11
我这样做是为了能够将一些自定义样式应用到栏中。这个代码在我的例子中被编辑,因为它不相关。 –