2009-01-19 4 views
4

Интересно, сталкивается ли кто-нибудь еще с той же проблемой. У меня есть поле UITextView, помещенное в UITableViewCell. Иногда он не отображает текст. Когда я нажимаю или просматриваю представление таблицы, оно появляется. Какие-нибудь догадки?UITextView при установке в UITableViewCell иногда не отображает содержимое


Деталь:

я называю метод в viewDidLoad метода, который вызывает веб-службу, чтобы получить какие-то данные. При получении данных я устанавливаю значения UILabel и UITextView. Значения UILabel отображаются, но UITextView (иногда) не отображают значение до тех пор, пока я не перейду к подсмотру или не перейду вверх и вниз, чтобы просмотреть область, содержащую UITextView. Я показываю UILabel и UITextView Объектов в UITableViewCell. Я называю [Tableview reloadData] сразу же после установки значения в UILabel и UITextView, но я не воссоздать UITableViewCell.

Спасибо за ваш ответ и указатели.

ответ

3

Я решил эту проблему, вызвав [myTableView reloadData];

1

Это может быть связано с тем, что UITextView и UITableView являются подклассами UIScrollView. Таким образом, у вас есть вид прокрутки внутри прокрутки, и это не удивило бы меня, если бы это было причиной ваших проблем.

Если вам не нужно редактировать текст внутри таблицы, используйте только многострочный UILabel.

Если вам абсолютно необходимо иметь UITextView внутри UITableView, возможно, отключение прокрутки на одном из них также может устранить проблему. (Я думаю, что имя свойства scrollEnabled или scrollingEnabled.)

0

Убедитесь, что вы звоните [super viewWillAppear:] и [super viewDidAppear:] во всех тех местах, где вы переопределять viewWillAppear или viewDidAppear.

Возможно, это относится ко всем остальным viewDidWhatever и viewWillWhatever методы, а также.

Проблема, с которой вы сталкиваетесь, указывает на то, что UITextView не получает сообщение, которое выводит себя на экран при первом отображении таблицы, но получает сообщение, когда оно нуждается в обновлении.

3

У меня была эта же проблема более или менее - UITextView внутри пользовательского подкласса UITableViewCell не отображал его текст, пока вы не коснетесь (и, таким образом, прокручиваете) UITextView. Это произойдет только с ячейкой FIRST в таблице. Я не мог понять, почему это происходит, но проблему легко устранить, просто используя «подталкивание» UITextView contentOffset программно.

problemCell.textView.contentOffset = CGPointMake(0.0, 1.0); 
problemCell.textView.contentOffset = CGPointMake(0.0, 0.0); 
+0

это помогло мне тоже, хотя у меня была TextView НЕ в клетке, но в представлении, что был изменен размер после viewDidLoad (поп-над на IPad, что анимационного выше после прихода в на контроллере нав).Добавление вызовов contentOffset в viewDidAppear исправляло ошибку для невидимого текста до прокрутки для меня. – Jason

Смежные вопросы