У меня есть текстовый вид (файл nib-файла) с UITextView, который максимизирует весь вид.UITextView не изменяет размер по клавиатуре, показывающей
Когда я нажимаю viewcontroller на навигационный контроллер, я загружаю клавиатуру в виде viewDidLoad текстового вида.
Моя проблема заключается в том, что когда я пишу текст, который имеет больше строк, чем есть место, текст стоит за клавиатурой. Я последовал за sampe от Apple here.
Если я зарегистрирую «newTextViewFrame», это NULL. но если я отлаживаю вещь, она имеет прекрасное значение. Даже если я жестко задал его, размер UITextView изменит размер.
Вот мой код:
- (void)keyboardWillShow:(NSNotification *)notification {
/*
Reduce the size of the text view so that it's not obscured by the keyboard.
Animate the resize so that it's in sync with the appearance of the keyboard.
*/
NSDictionary *userInfo = [notification userInfo];
// Get the origin of the keyboard when it's displayed.
NSValue* aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
// Get the top of the keyboard as the y coordinate of its origin in self's view's coordinate system. The bottom of the text view's frame should align with the top of the keyboard's final position.
CGRect keyboardRect = [aValue CGRectValue];
keyboardRect = [self.view convertRect:keyboardRect fromView:nil];
CGFloat keyboardTop = keyboardRect.origin.y;
CGRect newTextViewFrame = self.view.bounds;
newTextViewFrame.size.height = keyboardTop; - (self.view.bounds.origin.y);
// Get the duration of the animation.
NSValue *animationDurationValue = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSTimeInterval animationDuration;
[animationDurationValue getValue:&animationDuration];
// Animate the resize of the text view's frame in sync with the keyboard's appearance.
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:animationDuration];
createListingTextView.frame = newTextViewFrame;
[UIView commitAnimations];
NSLog(@"Textview resized: %@", newTextViewFrame);
}
Моя задача я просто: Реализовать View с UITextView и клавиатурой открытой и прокручивать UITextView когда-либо текст превышает.
Пожалуйста, советы ...
Woops. Виноват. Я помещаю полуточку в цель для тестирования. Проблема все еще сохраняется. Кажется, что UITextView i каким-то образом перерисовывается без моих настроек. Даже если я уменьшаю размер в IB, UITextView максимизируется при отображении View i. – esbenr
Нечетный. Должны спросить очевидное: вы уверены, что вы меняете правильный файл nib? Вы пробовали очистить и перестроить? – Daniel
Да. Я действительно попробовал скопировать пример из Apple и все еще не могу изменить его размер. Даже если я задал размер TextArea в малом дизайнере, область «максимизируется» при запуске приложения. Мне этот код выше должен работать, но мне не хватает чего-то, что максимизирует область во время выполнения. Когда я вернусь с работы, я отброшу весь код. – esbenr