iOS 5 SDK UITextView ограничение / ошибка?

У меня есть UITextView с большим количеством текста в нем. Когда отображается подпредставление, содержащее UITextView, UITextView появляется только после того, как UITextView коснулся и прокрутил.

Есть ли предел того, сколько текста может быть в UITextView? Или это ошибка?

прикрепленный клип, объясняющий это происшествие.

https://dl.dropbox.com/u/8256776/UITextView%20Bug.MOV

1 ответ

Решение

Хорошо, я изучил это, и это, кажется, довольно распространенная проблема. Кажется, что текстовое представление не чувствует, что оно должно нарисовать текст, но вызывает setNeedsDisplay не помогает Я не знаю, существует ли "реальное" решение, но вы можете заставить его рисовать текст, прокручивая программно:

disclaimerView.contentOffset = CGPointMake(0, 1);
disclaimerView.contentOffset = CGPointMake(0, 0);

Несвязанная вещь в вашем коде: в вашем switchView метод, у вас есть две анимации, одна для представления меню и одна для представления, которое вы перемещаете на место. Это не нужно, так как вы можете поставить оба setFrame звонки в той же анимации:

MenuView = (UIView *)[self.view viewWithTag:100];
appView = (UIView *)[self.view viewWithTag:ViewInt];
[MenuView setFrame:CGRectMake(0, 0, 320, 480)];
[appView setFrame:CGRectMake(321, 0, 320, 480)];
[UIView beginAnimations:@"move buttons" context:nil];
[UIView setAnimationDuration:.5];
[MenuView setFrame:CGRectMake(-320, 0, 320, 480)];
[appView setFrame:CGRectMake(0, 0, 320, 480)];
disclaimerView.contentOffset = CGPointMake(0, 1);
disclaimerView.contentOffset = CGPointMake(0, 0);
[UIView commitAnimations];

И еще одна вещь (а потом я отступлю:)) Вы, кажется, очень любите использовать теги для извлечения элементов. Хотя это работает, это не очень понятно. У вас не так много элементов, поэтому я бы просто добавил каждый из них как IBOutlet со значимым именем (как вы сделали со своим disclaimerView). Кроме того, есть отдельные switchView методы для различных взглядов, которые вы перемещаете в место. Таким образом, вы можете легко выполнить дополнительные действия, которые вам могут понадобиться только для этого представления, например, принудительную прокрутку disclaimerView,

Другие вопросы по тегам