UITextView при помещении в UITableViewCell иногда не отображает содержимое - PullRequest
5 голосов
/ 19 января 2009

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


подробности:

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

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

Ответы [ 4 ]

3 голосов
/ 16 мая 2011

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

problemCell.textView.contentOffset = CGPointMake(0.0, 1.0);
problemCell.textView.contentOffset = CGPointMake(0.0, 0.0);
3 голосов
/ 16 сентября 2009

Я решил это, позвонив [myTableView reloadData];

1 голос
/ 04 февраля 2009

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

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

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

0 голосов
/ 15 января 2010

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

Вероятно, верно и для всех других viewDidWhothing и viewWillWh независимо от методов.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...