单击UITextView未知原因时出错

时间:2016-03-02 09:03:24

标签: ios uiscrollview uitextfield uitextview

我有一个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时,我收到一条错误消息 -

enter image description here

但是我的viewController中没有与错误相关的中断。那可能是什么错误?

0 个答案:

没有答案