UITableView, setContentOffset animated: НЕТ не будет прокручиваться на iPad - PullRequest
1 голос
/ 14 августа 2011

у меня простой UITableView; Я пытаюсь заставить его прокрутить до определенной позиции в viewDidLoad, чтобы я мог скрыть первую строку в моей таблице (если пользователь не прокручивает вверх). Мой первый ряд 90.0px в высоту, поэтому я пытаюсь заставить мою UITableView прокрутить:

[contentTable setContentOffset: CGPointMake(0, 90.0f) animated: NO];

Проблема в том, что использование animated: NO ничего не делает; UITableView не будет прокручиваться. Однако, если я использую animated: YES, все работает отлично; он прокручивается, но недостатком его анимации является то, что во время прокрутки у меня мигает пользовательский интерфейс, а это совсем не то, что мне нужно.

Есть идеи, почему? Кажется, не имеет значения, если у моего UITableView есть 1 строка или 20 строк, он будет прокручиваться, только если я передам animated: YES на setContentOffset.

В настоящее время я использую Xcode 4.2 и использую iOS 4.3.3 на своем первом поколении iPad.


Редактировать: Еще одна вещь, которую стоит упомянуть - scrollToRect, похоже, не работает вообще, независимо от того, какое значение я передаю для его свойства animated. Есть ли что-то, что я в корне не понимаю в прокрутке на iOS?

Ответы [ 2 ]

0 голосов
/ 12 июля 2012

Я почти уверен, что в прокрутке UITableView есть какие-то ошибки. Я использую:

selectRowAtIndexPath: indexPath animated: YES scrollPosition: UITableViewScrollPositionMiddle

Предполагается выбрать строку, указанную indexPath, а затем прокрутить таблицу, чтобы выбранная строка находилась в середине представления. Это надежно работает на симуляторе, но на iPhone иногда прокручивает, а иногда нет. Часто (но не всегда) он работает первые несколько раз, а затем перестает работать (т.е. он не прокручивается и выбранная ячейка находится за пределами экрана). Но правильная ячейка всегда выбрана. Я не был в состоянии определить, что управляет прокруткой или нет. Я отправил отчет об ошибке в Apple, но ответа не последовало.

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