我的故事板中有一个隐藏字段,我用它来显示错误文本。
这就是我正在做的事情。
当用户点击文本字段并弹出键盘时,我会重新定位屏幕上的所有视图以调整丢失的屏幕空间,以便文本字段居中以便输入。
< / LI>进行一次错误回调的API调用。
在错误回调中将UILabel hidden属性设置为false,并将text属性设置为错误描述。
如果我省略了设置错误标签的text属性的行,那么没有任何视图重新定位,但是如果我设置了text属性,那么在键盘打开之前所有视图都会重新定位到它们的原始位置,键盘保持打开状态。
我觉得这与自动布局有关,但我无法确切地知道它会是什么。
我没有使用Size Classes,控制器中的任何元素都没有约束。
以下是相关代码:
@IBAction func checkInChanged(sender: AnyObject) {
self.loginActivity.hidden = false
self.loginActivity.startAnimating()
API.postLogin(self.linkTextField.text, successCallback: {
(data: Dictionary<String, AnyObject>) -> () in
API.getPracticeQuestions({
(data: Array<Dictionary<String, AnyObject>>) in
API.getQuestions({
(data: Array<Dictionary<String, AnyObject>>) in
}, errorCallback: self.manageError)
}, errorCallback: self.manageError)
}, errorCallback: self.manageError)
}
func manageError(operation : AFHTTPRequestOperation!, error: NSError?) -> () {
var errorMsg = "Sorry there was an unspecified error :("
self.errorLabel.hidden = false
self.loginActivity.hidden = true
// The line that is causing the problem
self.errorLabel.text = errorMsg
}
我确保清除控制器的所有限制。我这样做是通过选择视图控制器并单击&#34; Clear Constraints&#34;