我有一个scrollView,当我显示键盘时,我想向上滚动.
2014-09-29 14:48:50.738 swrd [1563:472888] – [swrd.EditPhotoViewController keyboardWasShown]:无法识别的选择器发送到实例0x14ed36640
这是我的代码,怎么了?
- func registerForKeyboardNotifications ()-> Void {
- NSNotificationCenter.defaultCenter().addObserver(self,selector: "keyboardWasShown",name: UIKeyboardDidShowNotification,object: nil)
- NSNotificationCenter.defaultCenter().addObserver(self,selector: "keyboardWillBeHidden",name: UIKeyboardWillHideNotification,object: nil)
- }
- func deregisterFromKeyboardNotifications () -> Void {
- let center: NSNotificationCenter = NSNotificationCenter.defaultCenter()
- center.removeObserver(self,name: UIKeyboardDidHideNotification,object: nil)
- center.removeObserver(self,object: nil)
- }
- func keyboardWasShown (notification: NSNotification) {
- let info : NSDictionary = notification.userInfo!
- let keyboardSize = info.objectForKey(UIKeyboardFrameBeginUserInfoKey)?.frame
- let insets: UIEdgeInsets = UIEdgeInsetsMake(self.scrollView.contentInset.top,keyboardSize!.height,0)
- self.scrollView.contentInset = insets
- self.scrollView.scrollIndicatorInsets = insets
- self.scrollView.contentOffset = CGPointMake(self.scrollView.contentOffset.x,self.scrollView.contentOffset.y + keyboardSize!.height)
- }
- func keyboardWillBeHidden (notification: NSNotification) {
- let info : NSDictionary = notification.userInfo!
- let keyboardSize = info.objectForKey(UIKeyboardFrameBeginUserInfoKey)?.frame
- let insets: UIEdgeInsets = UIEdgeInsetsMake(self.scrollView.contentInset.top,0)
- self.scrollView.contentInset = insets
- self.scrollView.scrollIndicatorInsets = insets
- }
- override func viewWillAppear(animated: Bool) {
- super.viewWillAppear(true)
- self.registerForKeyboardNotifications()
- }
- override func viewWillDisappear(animated: Bool) {
- super.viewWillDisappear(true)
- self.deregisterFromKeyboardNotifications()
- }