В моем родном приложении iOS у меня есть экран, содержащий простой текстовый просмотр. Мне нужно настроить размер/кадр текстового вида при появлении клавиатуры. Я сменил его UIKeyboardDidShowNotification
, как показано ниже:Есть ли какие-либо возможные пути/делегаты для определения состояния входного аксессуара клавиатуры UITextView
[[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 в (например: Input аксессуар вид показан/скрыт, и т.д.).
NB: мне нужно вид аксессуаров. Поэтому мне не нужно его удалять.
Wow ... !!! Большое спасибо Колину. Я действительно пропустил это. Спасибо за поддержку.... :) –