iPhone, как реализовать «широкий» UITableViewCell? - PullRequest
4 голосов
/ 19 декабря 2011

Я хотел бы иметь UITableView с ячейками шире, чем 320 точек. Пользователь должен иметь возможность прокручивать вбок, чтобы иметь возможность просматривать различные части UITableViewCell. Возможно ли такое поведение с UITableView, или я должен пойти и попытаться реализовать мозаичный UIScrollView?

Я попытался обернуть UITableView в UIScrollView, и результаты ужасны - они конкурируют за жесты прокрутки, и большую часть времени выигрывает представление прокрутки, не позволяя таблице перемещаться по вертикали.

Любой вклад приветствуется!

Спасибо!

Обновление: я попробовал предлагаемое решение, и оно правильно прокручивается, но ширина таблицы все еще составляет всего 320 пикселей. Связана ли ширина tableView с границами окна?

1 Ответ

1 голос
/ 19 декабря 2011

Оборачивание представления таблицы с представлением прокрутки - правильный путь.

UIScrollView с

  • Показать горизонтальные скроллеры
  • прокрутка включена
  • автоматически изменить размер на весь экран

Внутри этого,a UITableView

  • показывает вертикальные скроллеры
  • прокрутка включена

Затем я устанавливаю рамку табличного представления, при этом w, является расчетной шириной таблицыпросмотр со всеми столбцами, независимо от вашей ширины, и kTableScrollViewHeight - фиксированная высота как представления таблицы, так и представления прокрутки, в моем случае, например, 367 точек (экран минус статус, панель навигации и вкладка):

tv.frame = CGRectMake(0, 0, w, kTableScrollViewHeight);

и размер содержимого представления прокрутки

scrollView.contentSize = CGSizeMake(w, kTableScrollViewHeight);

Если вам нужно поведение прокрутки вверх, когда пользователь касается строки состояния, выможет потребоваться установить

scrollView.scrollsToTop = NO;

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

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