我正在用自定義選項卡欄構建應用程序。其中一個按鈕不會選擇相應的視圖控制器,而是會觸發一些自定義代碼(如模式打開)。比較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
我這樣做是爲了能夠將一些自定義樣式應用到欄中。這個代碼在我的例子中被編輯,因爲它不相關。 –