-5
我是新來的swift,所以想問,如何從一個視圖控制器移動到另一個沒有按鈕,但與標籤。例如,如果標籤是「bluhbluh」,那麼它會移動到第二個視圖控制器。謝謝!從一個視圖控制器移動到另一個視圖控制器沒有按鈕
我是新來的swift,所以想問,如何從一個視圖控制器移動到另一個沒有按鈕,但與標籤。例如,如果標籤是「bluhbluh」,那麼它會移動到第二個視圖控制器。謝謝!從一個視圖控制器移動到另一個視圖控制器沒有按鈕
正如其他人所說,這可能不是一個好的模式。但要回答你的問題,你可以嘗試這樣的事情。
import UIKit
class FirstViewController: UIViewController {
@IBOutlet weak var label: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
label.addObserver(self,
forKeyPath: "text",
options: [.new, .old],
context: nil)
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == "text" {
if label.text == "Text that triggers navigation" {
let secondVC = SecondViewController()
navigationController?.pushViewController(secondVC, animated: true)
}
}
}
}
class SecondViewController: UIViewController {}
您可以爲標籤的文本設置觀察者,並且如果文本與您正在查找的內容匹配,觀察者將調用執行segue的操作。 http://stackoverflow.com/a/28395000/4475605 – Adrian
您可以在Interface Builder中將一個標識符從一個視圖控制器創建到另一個視圖控制器。然後,在你的代碼中,你應該創建一個條件,例如viewDidLoad,檢查標籤text =「bluhbluh」,這是真的,你用標識符執行該segue。 無論如何,這將有助於看到你想要達到什麼,因爲在場景之間進行過渡的標籤聽起來很奇怪,至少對我而言,如果用戶在文本字段上點擊某些內容,而轉換到其他標籤會更有意義的標籤條件。但那是因爲我不知道你想要什麼。 –
@Adrian他正在談論一個標籤......我也認爲文本字段更有意義,但那就是他所要求的。 –