iOS8键盘快速键激活/停用事件

时间:2014-10-30 09:10:39

标签: keyboard ios8

我有一个问题,我在键盘上显示事件移动我的视图,而且我的视图底部有一个文本视图,这是一个聊天屏幕。 现在我的问题是,当iOS 8中的键盘出现时,我的组合视图位于底部隐藏。因此,如果出现类型,我需要再次移动视图,并在快速类型移开时重新定位。

先谢谢。

1 个答案:

答案 0 :(得分:1)

想法是检测键盘框架何时发生变化,然后相应地重新调整视图。请参阅此解决方案QuickType Bar on the Keyboard

如果您已经有一个NSNotification检测到键盘何时会显示,那么您可以通过这种方式完成。

-(void)keyboardWasShown:(NSNotification *)aNotification{

//this part detects the height of your keyboard, whether quicktype is open or not
NSDictionary *keyboardInfo = [aNotification userInfo];
CGSize keyboardSize = [[keyboardInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
float keyboardHeight = keyboardSize.height;

//animate message bar - this animation code works if autolayout is on
[self.messageBarView layoutIfNeeded];
[UIView animateWithDuration:[aNotification.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue] animations:^{
    self.bottomConstraintMsgView.constant = keyboardHeight;
    [self.messageBarView layoutIfNeeded];
}];

}

重要的是你宣布“CGSize keyboardSize”。你必须像我上面那样使用UIKeyboardFrameEndUserInfoKey。这将在帧更改(quicktype hide / show)完成后为您提供帧大小。