不同的 segues 去同一个 ui 视图而不是不同的视图
Posted
技术标签:
【中文标题】不同的 segues 去同一个 ui 视图而不是不同的视图【英文标题】:Different segues going to the same ui view instead of different views 【发布时间】:2019-08-30 17:34:12 【问题描述】:我有一个带有两个按钮的视图,每个按钮都应该执行不同的 segue 并转到不同的视图,但它们都转到相同的视图
我尝试删除并创建新的转场
这是带有两个按钮的视图控制器
import UIKit
class DSViewController: UIViewController
var finalTol = ""
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
print(finalTol)
view.layer.cornerRadius=30
@IBAction func diseaseDone(_ sender: Any)
performSegue(withIdentifier: "disease", sender: self)
@IBAction func symptomsDone(_ sender: Any)
performSegue(withIdentifier: "symptom", sender: self)
override func viewWillAppear(_ animated: Bool)
navigationController?.navigationBar.layer.cornerRadius = 30
navigationController?.navigationBar.barTintColor = UIColor.white
navigationController?.navigationBar.clipsToBounds = true
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
switch (segue.identifier)
case "disease":
let vc = segue.destination as! DiseaseViewController
vc.finalTol=self.finalTol
case "symptom":
let vc = segue.destination as! SymptomViewController
vc.finalTol = self.finalTol
default:
print(finalTol)
我预计疾病会出现在 diseaseViewController 中,症状会出现在 SymptomViewController 中,但它们都会出现在症状中
【问题讨论】:
【参考方案1】:我认为这里没有足够的信息来确定问题。
您是否在情节提要中检查了每个按钮都连接到正确的 IBAction 并且仅连接到正确的 IBAction?选择您的按钮并检查连接选项卡以确保是这种情况。您可能已将它们都设置为“syptomsDone”,或者您可能已将它们设置为故事板中的 segue 而不是调用您的 IBAction。
还要检查您的自定义 segue 标识符以确定。
【讨论】:
您能验证一下 IBAction 是否被调用,其中包含一个简单的打印语句?查看视图层次结构中的情节提要并查看底部以查看转场。那里有你不期望的转场吗?以上是关于不同的 segues 去同一个 ui 视图而不是不同的视图的主要内容,如果未能解决你的问题,请参考以下文章