将UITextView放在键盘顶部?

时间:2015-01-11 03:32:50

标签: swift

当我的视图控制器弹出时,我已经调用了键盘。我想要做的就是将UITextView直接放在键盘上方。我可以硬编码,但我担心不同的键盘大小。有什么想法吗?

@IBOUtlet var textView: UITextView! = UITextView()

1 个答案:

答案 0 :(得分:1)

您可以使用UIKeyboardDidShowNotification通知来了解键盘何时出现。您可以使用此通知中的键盘框架动态计算此UITextField的位置。

override func viewDidLoad() {
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyBoardDidShow:", name: UIKeyboardDidShowNotification, object: nil)
}

func keyBoardDidShow(notification :NSNotification)
{
   if let frameObject: AnyObject = notification.userInfo?[UIKeyboardFrameEndUserInfoKey]
   {
        let keyboardRect = frameObject.CGRectValue()
        // use keyboardRect to calculate the frame of the textfield
   }
}

欲了解更多信息,请阅读 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIWindow_Class/index.html#//apple_ref/doc/constant_group/Keyboard_Notification_User_Info_Keys