gpt4 book ai didi

ios - Segue 在单独的按钮单击时执行

转载 作者:行者123 更新时间:2023-11-28 21:26:50 25 4
gpt4 key购买 nike

我正在学习在线类(class),我正在构建的应用程序基本上是 Instagram 的精简版,如您所见,在左侧我有一个用于登录的 View ,在右侧我有一个查看注册。

非常简单,现在我已经从登录页面的按钮 Register 创建了一个 Seque,当按下按钮时,您会进入注册 View (右侧的一个), 这按预期工作但是如果我在登录页面上并单击登录并且它出于任何原因出错我显示错误消息但紧接着执行 Seque 到注册屏幕即使我从未按过 register

这是我的 Storyboard:

enter image description here

这是我在位于左侧 View 中的 Sign In 按钮后面的代码

 @IBAction func btnSignIn(sender: AnyObject) {

if txtUsername.text == "" || txtPassword.text == "" {

displayAlert("Error", message: "Username and Password required!")

}
}

我在这个 Controller 中没有其他代码会导致 Seque 初始化。

如果有人可以阐明我如何阻止此 SequeSign In 上发生,请单击并仅在我按下 Register 时发生我将不胜感激。

更新

经过进一步调查,这似乎是我显示的警告框的问题。如果我注释掉警告框并按登录并让它出错但不显示任何内容然后单击注册将我带到右侧的 View ,单击登录并返回到左侧的 View 然后按 登录在 中显示警告框,当它关闭时,它似乎认为 View Controller 显示在页面上当前 View 的前一个 View Controller 中,这很奇怪。这是我的警报功能:

  func displayAlert(title: String, message: String) { // Display alert message to user.  Passing in title and message which will be displayed.

if #available(iOS 8.0, *) {
let a = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)

a.addAction((UIAlertAction(title: "OK", style: .Default, handler: { (action) -> Void in

self.dismissViewControllerAnimated(true, completion: nil)

})))

self.presentViewController(a, animated: true, completion: nil)

} else {

// Fallback on earlier versions
}
}

最佳答案

您不需要在操作中关闭警报 View Controller 。当用户选择一个 Action 时,警报 Controller 会自动关闭。

由于您正在调用 dismissViewControllerAnimated,您将返回到之前的 View Controller 。

关于ios - Segue 在单独的按钮单击时执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37762032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com