是否有任何可能 ways/delegates 来识别 UITextView 键盘的输入附件视图的状态
Is there any possible ways/delegates to identify the state of input accessory view of a UITextView's keyboard
在我的原生 iOS 应用程序中,我有一个包含简单文本视图的屏幕。当键盘出现时,我需要调整文本视图的 size/frame。我已经用 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);
}
问题: 第一次看起来还不错。但后来我意识到键盘的框架是包含其附件视图的高度的。因此,当我通过向下拖动来隐藏附件视图时,文本视图似乎已损坏。
因此,任何人都可以建议我任何可能的 ways/delegates 来识别文本视图键盘的输入附件视图的状态(例如:输入附件视图是 shown/hidden,等等)
注意:我需要辅助视图。因此我不需要删除它。
注册成为 UIKeyboardDidChangeFrameNotification
的观察员以更新您的视图框架。
在我的原生 iOS 应用程序中,我有一个包含简单文本视图的屏幕。当键盘出现时,我需要调整文本视图的 size/frame。我已经用 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);
}
问题: 第一次看起来还不错。但后来我意识到键盘的框架是包含其附件视图的高度的。因此,当我通过向下拖动来隐藏附件视图时,文本视图似乎已损坏。
因此,任何人都可以建议我任何可能的 ways/delegates 来识别文本视图键盘的输入附件视图的状态(例如:输入附件视图是 shown/hidden,等等)
注意:我需要辅助视图。因此我不需要删除它。
注册成为 UIKeyboardDidChangeFrameNotification
的观察员以更新您的视图框架。