【问题标题】:Linking up a button through a segue when using material.io使用 material.io 时通过 segue 链接按钮
【发布时间】:2019-10-24 09:19:43
【问题描述】:

我是 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。

【问题讨论】:

    标签: ios swift material-design material-components material-components-ios


    【解决方案1】:

    我看不到您的代码,也没有足够的代表发表评论,但看起来您正在以编程方式构建视图。要查看按钮何时像从插座一样接收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)
    }
    

    【讨论】:

    • 我更新了上面的描述,我觉得我正在做你提到的。你能看看吗。谢谢
    • @mridulghanshala 我认为调用dismiss 会导致问题。你试过没有那个吗?您是否还尝试在didTapNext 中添加print 语句以查看按钮是否正在调用该函数?
    • 你认为如果我手动创建 1 个视图并从情节提要中创建 1 个并通过 segue 将 2 个链接起来,我会走正确的路,或者我应该做一些类似 performnavigation 的事情
    • 我不明白。哪个视图是手动的,哪个是故事板?
    猜你喜欢
    • 2015-01-12
    • 2012-08-01
    • 2015-08-03
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-30
    相关资源
    最近更新 更多