【问题标题】:Different segues going to the same ui view instead of different views不同的 segues 去同一个 ui 视图而不是不同的视图
【发布时间】: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 中,但它们都会出现在症状中

【问题讨论】:

    标签: swift uistoryboardsegue


    【解决方案1】:

    我认为这里没有足够的信息来确定问题。

    您是否在情节提要中检查了每个按钮都连接到正确的 IBAction 并且仅连接到正确的 IBAction?选择您的按钮并检查连接选项卡以确保是这种情况。您可能已将它们都设置为“syptomsDone”,或者您可能已将它们设置为故事板中的 segue 而不是调用您的 IBAction。

    还要检查您的自定义 segue 标识符以确定。

    【讨论】:

    • 您能验证一下 IBAction 是否被调用,其中包含一个简单的打印语句?查看视图层次结构中的情节提要并查看底部以查看转场。那里有你不期望的转场吗?
    猜你喜欢
    • 2012-05-14
    • 2014-01-08
    • 1970-01-01
    • 2012-02-12
    • 2016-09-14
    • 2021-05-18
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    相关资源
    最近更新 更多