首页 > 解决方案 > 使用 material.io 时通过 segue 链接按钮

问题描述

我是 Swift 的初学者,我正在使用 Swift 中的 Material.io 创建一个登录屏幕,我的 UI 看起来像这样用户界面。但是我在我的 main.storyboard 上看不到任何东西我习惯于主故事板 手动创建一个 segue 然后使用

performSegue(withIdentifier: <#T##String#>, sender: <#T##Any?#>)
使用segue,但现在因为我没有看到按钮,所以我无法在单击2 个按钮登录和注册时使用segue。

此外,通常在 main.storyboard 中,您有一个 IBOutlet 或 IBAction 块来触发某些功能,例如在单击按钮时执行某些操作。例如,当您使用 MDCButton 时,它是如何工作的。如何将按钮链接到触发 segue 或更新文本字段等操作。谢谢你。

我已经像这样声明了我的按钮

 let nextButton: MDCButton = {
        let nextButton = MDCButton()
        let containerScheme = MDCContainerScheme()
        nextButton.applyTextTheme(withScheme: containerScheme)
        nextButton.setTitleColor(.white, for: .normal)
        nextButton.translatesAutoresizingMaskIntoConstraints = false
        nextButton.setTitle("CREATE NEW ACCOUNT", for: .normal)
        nextButton.addTarget(self, action: #selector(didTapNext(sender:)), for: .touchUpInside)
        return nextButton
    }()

我这样称呼它

 @objc func didTapNext(sender: Any) {
        self.performSegue(withIdentifier: "toRegistration", sender: self)
        self.dismiss(animated: true, completion: nil)
    }

我有一个链接 2 个视图控制器的 segue。

标签: iosswiftmaterial-designmaterial-componentsmaterial-components-ios

解决方案


我看不到您的代码,也没有足够的代表发表评论,但看起来您正在以编程方式构建视图。要查看按钮何时touchUp像从插座一样接收,您需要添加一个目标。尝试这样的事情:

func functionWhereYouCreateTheButton() { (PROBABLY YOUR VIEW DID LOAD)
   let loginButton = UIButton()...
   ...
   ...
   ...
   loginButton.addTarget(self, action: #selector(self.buttonTapped), for: .touchUpInside)
}

func buttonTapped() {
   self.performSegue(withIdentifier: "SEGUEID", sender: self)
}

推荐阅读