我正在网上关注课程,我正在建设的应用程序基本上是Instagram的缩减版本,你可以在左侧看到我有一个登录视图,在右侧我有一个注册视图。
非常简单,现在我已经从按钮Seque
的登录页面创建了一个Register
,当按下该按钮会将您带到注册视图(右侧一个),这可以按预期工作但是,如果我在登录页面并单击登录并且出于任何原因它出现错误我显示错误消息但是直接执行Seque
到注册屏幕,即使我从未按下register
< / p>
这是我的故事板:
这是我左侧视图中的Sign In
按钮后面的代码
@IBAction func btnSignIn(sender: AnyObject) {
if txtUsername.text == "" || txtPassword.text == "" {
displayAlert("Error", message: "Username and Password required!")
}
}
我在此控制器中没有其他代码会导致Seque
初始化。
如果有人可以了解如何在Seque
点击时阻止Sign In
发生这种情况,只有当我按Register
时我才会感激。
更新
经过进一步调查,这似乎是我正在显示的警报框的问题。如果我注释掉警告框并按下登录并让它显示错误但没有显示任何内容,请单击注册,将我带到右侧的视图,单击登录并返回到左侧视图,然后按{{1}显示警告框,当它关闭时,它似乎认为视图控制器显示在页面上当前页面之前的视图控制器中,这是奇怪的。这是我的提醒功能:
Sign In
答案 0 :(得分:2)
您不需要在操作中关闭警报视图控制器。当用户选择动作时,警报控制器将自动关闭。
由于您正在调用dismissViewControllerAnimated
,因此您将返回上一个视图控制器。
答案 1 :(得分:0)
右键单击登录按钮并检查Connections Inspector,可能是您已经复制粘贴了这两个按钮,因此登录和注册按钮的操作都是相同的。