UIScrollView в UITableCellView, ячейка не обновляется - PullRequest
0 голосов
/ 01 июня 2009

У меня есть пользовательский UITableViewCell с UIScrollView в нем, который подключен к контроллеру ячейки. Когда я присваиваю текст просмотру прокрутки, некоторые ячейки получают правильный текст, некоторые - пустые, некоторые переотображают старый текст, а другие - вид прокрутки, обрезанный вокруг второй или третьей строки текста. Кажется случайным, что случится. Я последовал предложению использовать таймер для исправления пустых ячеек http://www.bdunagan.com/2008/12/08/uitextview-in-a-uitableview-on-the-iphone/,, но это не помогло. Я поместил код таймера в метод cellForRowAtIndexPath.

Я также пытался позвонить

[cell.textview setNeedsDisplay];

после того, как текст назначен текстовому просмотру, но это не имеет никакого влияния.

Когда я использую текстовое поле или метку, все выглядит хорошо. Однако мне нужно что-то, что может прокручивать текст. Любые предложения по исправлению или лучше?

1 Ответ

1 голос
/ 01 июня 2009

Обновление: найдено на форумах разработчиков (в частности, упоминается ваша проблема):

https://devforums.apple.com/message/38944#38944

Я бы пошел по ссылке, там есть более подробная информация.

 // view controller

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
     NSArray*     visibleCells = [self.tableView visibleCells];

     for (UITableViewCell* cell in visibleCells)
     {
          if ([cell.reuseIdentifier isEqualToString:kTextViewCellID])
          {
               [(MTextViewCell*)cell refresh];
          }
     }
}

// MTextViewCell 


- (void)refresh
{
     // mucking with the contentOffset causes the textView to redraw itself
     CGPoint     contentOffset = mTextView.contentOffset;
     CGPoint     contentOffset1 = { contentOffset.x, contentOffset.y + 1.0f };

     mTextView.contentOffset = contentOffset1;
     mTextView.contentOffset = contentOffset;
}

Попробуйте позвонить:

[tableView reloadData];

После обновления всех текстовых представлений.

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