在字段上设置文本会导致控制器中的所有视图重新定位

时间:2014-09-24 16:11:17

标签: ios uiviewcontroller swift

我的故事板中有一个隐藏字段,我用它来显示错误文本。

这就是我正在做的事情。

  1. 当用户点击文本字段并弹出键盘时,我会重新定位屏幕上的所有视图以调整丢失的屏幕空间,以便文本字段居中以便输入。

    < / LI>
  2. 进行一次错误回调的API调用。

  3. 在错误回调中将UILabel hidden属性设置为false,并将text属性设置为错误描述。

  4. 如果我省略了设置错误标签的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;

0 个答案:

没有答案