我有一个textFields&注册屏幕。 textViews放在滚动视图上。为了在文本字段上方移动视图,我使用了以下代码 -
标记:我已正确连接所有代表。
var activeTextField:UITextField?
viewDidLoad()
{
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWasShown:"), name: UIKeyboardWillShowNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillBeHidden:"), name: UIKeyboardWillHideNotification, object: nil)
}
override func viewWillDisappear(animated: Bool)
{
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardDidHideNotification, object: nil)
NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardWillHideNotification, object: nil)
}
func textFieldDidBeginEditing(textField: UITextField)
{
self.activeTextField = textField
}
func textFieldDidEndEditing(textField: UITextField)
{
self.activeTextField = nil
}
func textViewDidBeginEditing(textView: UITextView)
{
textView.becomeFirstResponder()
self.scrollView.setContentOffset(CGPointMake(0, 180), animated: true)
}
func textViewDidEndEditing(textView: UITextView)
{
self.scrollView.setContentOffset(CGPointMake(0, 0), animated: true)
textView.resignFirstResponder()
}
func keyboardWasShown(notification: NSNotification)
{
// Step 1: Get the size of the keyboard.
let info : NSDictionary = notification.userInfo!
let keyboardSize = (info.objectForKey(UIKeyboardFrameBeginUserInfoKey)?.CGRectValue as CGRect!).size
// Step 2: Adjust the bottom content inset of your scroll view by the keyboard height.
let contentInsets: UIEdgeInsets = UIEdgeInsetsMake(0.0, 0.0, keyboardSize.height, 0.0)
self.scrollView.contentInset = contentInsets
self.scrollView.scrollIndicatorInsets = contentInsets
// Step 3: Scroll the target text field into view.
var aRect: CGRect = self.view.frame
aRect.size.height -= keyboardSize.height
if !CGRectContainsPoint(aRect, activeTextField!.frame.origin)
{
let scrollPoint: CGPoint = CGPointMake(0.0, activeTextField!.frame.origin.y - (keyboardSize.height - 15))
self.scrollView.setContentOffset(scrollPoint, animated: true)
}
}
func keyboardWillBeHidden(notification: NSNotification)
{
let contentInsets: UIEdgeInsets = UIEdgeInsetsZero
self.scrollView.contentInset = contentInsets
self.scrollView.scrollIndicatorInsets = contentInsets
}
但是当我点击textView时,我收到一条错误消息 -
但是我的viewController中没有与错误相关的中断。那可能是什么错误?