Чтобы увеличить высоту текста вверх в соответствии с содержанием, я использовал проект this gitHub.
А для простого изменения расположения точки зрения текста, так что она остается выше клавиатуры, попробуйте этот
// First add these
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
Тогда в этих методах, сделать это
- (void) keyboardWillShow:(NSNotification *)note {
//Get keyboard size and loctaion
CGRect keyboardBounds;
[[note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds];
// get a rect for the textView frame
CGRect containerFrame = _text_view.frame;
// Provided you keep fixed number of maximum lines
containerFrame.origin.y = self.view.bounds.size.height - (keyboardBounds.size.height + containerFrame.size.height);
// set views with new info
_text_view.frame = containerFrame;
// Change toolbar location as per it's height
_tool.frame=CGRectMake(0,
_text_view.frame.origin.y - _tool.frame.size.height,
_tool.frame.size.width,
_tool.frame.size.height);
}
- (void) keyboardWillHide:(NSNotification *)note{
CGRect keyboardBounds;
[[note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds];
// get a rect for the textView frame
CGRect containerFrame = _text_view.frame;
containerFrame.origin.y = self.view.bounds.size.height - containerFrame.size.height;
// set views with new info
_text_view.frame = containerFrame;
// Similarly again change toolbar location
}
Или вы можете просто держать TextView в scrollView и измените вставки прокрутки, когда появляется клавиатура.
Предоставьте дополнительную информацию, например, как вы инициализировали новости. – Jaideep
Спасибо за ваш ответ. Я инициализирован CGRect, и я не уверен в том, что я делаю, правильно. Проблема, с которой я столкнулся, - это увеличение текста по высоте, последняя строка текста скрывается за клавиатурой. Можете ли вы предоставить некоторый код для увеличения текста, а также панели инструментов, не скрывая клавиатуру. Спасибо заранее. – developer