【发布时间】:2020-05-04 09:39:38
【问题描述】:
如何仅在条件发生时执行转场?
我尝试过的:
在 Main.storyboard 我有两个视图控制器。我可以控制从 ViewController.swift 的 View Controller 图标拖动到 SecondViewController.swift 中的任何位置。
我选择带有 segue 和 In Attributes > Identifier 的箭头,我将其命名为 segueTo2
-
在 ViewController.swift 中,我有一个 textField1 和 toTo2 按钮。所有都在故事板中连接。我也有:
@IBOutlet weak var textField1: UITextField! @IBAction func goTo2(_ sender: UIButton) { performSegue(withIdentifier: "segueTo2", sender: self) } override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { let str: String? = textField1.text if str!.isEmpty { print ("text field is empty. Do not do the segue") return false } else { return true }}
相同的代码在 macOS 中运行良好(仅将 textField1.text 更改为 textField1.stringValue)。在 iOS 中它不起作用。也就是说,当 textField1 为空时,它仍然会进行转场。
如何只在Text Field有内容的情况下进行segue?
【问题讨论】:
-
为什么是负面的。我进行了广泛的搜索,没有人解释这一点。我需要做些什么来改进问题?
标签: ios swift storyboard