在我的原生iOS应用中,我有一个包含简单文本视图的屏幕。当键盘出现时,我需要调整文本视图的大小/框架。我已使用UIKeyboardDidShowNotification
成功完成了以下操作:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myKeyBoardIsOnScreen:) name:UIKeyboardDidShowNotification object:nil];
设置框架:
- (void)myKeyBoardIsOnScreen:(NSNotification*)notification {
NSDictionary* keyboardInfo = [notification userInfo];
NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect keyboardFrameBeginRect = [keyboardFrameBegin CGRectValue];
self.textView.frame = CGRectMake(self.textView.frame.origin.x, self.textView.frame.origin.y, self.textView.frame.size.width, self.view.frame.size.height-keyboardFrameBeginRect.size.height-self.textView.frame.origin.y);
}
问题:第一时间看起来不错。但后来我意识到键盘的框架是包含其附件视图的高度。因此,当我通过向下拖动来隐藏附件视图时,textview似乎被破坏了。
因此,任何人都可以建议我任何可能的方式/代表来识别textview键盘的输入附件视图的状态(如:输入附件视图显示/隐藏等)
注意:我需要配件视图。因此,我不需要将其删除。