UITableView не будет прокручивать в определенных условиях - PullRequest
1 голос
/ 06 октября 2009

Мое приложение имеет набор категорий. Категория может иметь подкатегории.

DirectoryCategoryController - это первый экран, отображающий все категории верхнего уровня. Работает отлично. Когда вы нажимаете на ячейку, если у выбранной категории есть подкатегории, я создаю новый экземпляр DirectoryCategoryController и нажимаю на него, чтобы отобразить подкатегории. Оттуда вы нажимаете подкатегорию и видите содержимое.

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

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

Кроме того, если в табличном представлении больше элементов, чем умещается на экране (примерно в этом макете больше 8), все работает.

Очень странная проблема; своего рода ошеломляющий. Любое понимание?

Ответы [ 2 ]

15 голосов
/ 08 октября 2009

Итак, я понял это и подумал, что отвечу как ссылка.

На данный момент, я думаю, что это может быть ошибка iPhone OS, и я подаю RADAR.

UIScrollView, UITableView которого является подклассом, не будет пытаться прокрутить, если все помещается на одном экране.

В моем случае, кажется, что представление прокрутки считало, что все подходит (это было очень близко), но это не так. На самом деле, если бы вы удалили UISearchBar из UITableView, все бы подошло и не нужно было бы прокручивать. Я предполагаю, что он неправильно определяет геометрию, когда прикреплен UISearchBar.

Так или иначе, обходной путь должен был добавить это: [self.tableView setAlwaysBounceVertical: YES];

Странно было то, что когда другой вид нажимался, а затем появлялся, вертикальный отскок работал нормально, что усиливало мои подозрения, что это ошибка iPhone.

0 голосов
/ 30 марта 2012

Я заметил то же самое при использовании A UITableView с UISearchBar в качестве представления заголовка, как настроено в Interface Builder в Xcode 4.3.1. В моем viewDidLoadMethod я добавил следующий код, и он исправил проблему для меня:

self.contactsTable.bounces = YES;

Я считаю, что это ошибка, которая отключает свойство bounces, но это можно исправить, повторно включив его.

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