Nano Hash - криптовалюты, майнинг, программирование

UIScrollView в UITableCellView, ячейка не обновляется

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

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

[cell.textview setNeedsDisplay];

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

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


Ответы:


1

Обновление: нашел это на форумах разработчиков (конкретно упоминает вашу проблему):

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];

После того, как вы обновите все textViews.

01.06.2009
  • textViews обновляются в cellForRowAtIndexPath. Я попытался вызвать [tableView reloadData]; там, но это не имело никакого эффекта. 02.06.2009
  • Прямо перед возвратной камерой; Я делаю NSLog(@\nrow=%d textview.text: %@,row, cell.textview.text); и он всегда имеет правильное значение. Но почти никогда не показывает. Обычно ячейки пустые. 02.06.2009
  • если вы прокручиваете таблицу, обновляются ли значения при прокрутке? 02.06.2009
  • Нет. Это случайно. Большинство из них пустые, некоторые повторяются, некоторые кажутся правильными (по порядку). Это очень похоже на проблему, с которой я столкнулся: discussions.apple.com/thread. jspa?messageID=8203919. 02.06.2009
  • Превосходно! Это работает. Из сообщения на форуме кажется, что в 3.0 есть исправление для этого. 02.06.2009
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..