Ios scrollView.scrollRectToVisible()仅在模拟器中工作?

Ios scrollView.scrollRectToVisible()仅在模拟器中工作?,ios,iphone,swift,xcode,Ios,Iphone,Swift,Xcode,我有一个滚动视图设置,可以在键盘显示时向上推一个视图(textfield处于活动状态),但它似乎在模拟器中工作得很好,并且在实际设备上时不时工作 func keyboardWasShown(notification: NSNotification){ self.scrollView.isScrollEnabled = true var info = notification.userInfo! let keyboardSize = (info[UIKeyboardFra

我有一个滚动视图设置,可以在键盘显示时向上推一个视图(textfield处于活动状态),但它似乎在模拟器中工作得很好,并且在实际设备上时不时工作

func keyboardWasShown(notification: NSNotification){

    self.scrollView.isScrollEnabled = true
    var info = notification.userInfo!
    let keyboardSize = (info[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue.size
    let contentInsets : UIEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, keyboardSize!.height, 0.0)

    self.scrollView.contentInset = contentInsets
    self.scrollView.scrollIndicatorInsets = contentInsets

    var aRect : CGRect = self.view.frame
    aRect.size.height -= keyboardSize!.height
    if let activeField = self.activeField {
        if (!aRect.contains(activeField.frame.origin)){
            self.scrollView.scrollRectToVisible(activeField.frame, animated: true)

        }
    }

}

答案是否定的,它应该在模拟器和设备中都能工作

但我建议您不要创建很多逻辑来理解视图何时应该上升或下降,而是使用此框架:


它似乎只是不想在设备上工作,我会尝试解决它,我先尝试了这个框架,但它一直将我的占位符文本推到左上角。