Многоколоночная таблица iOS, которая изменяет количество столбцов в строке при переключении устройства - PullRequest
0 голосов
/ 27 июля 2011

Я хотел бы создать таблицу с несколькими столбцами, каждый из которых содержит кнопку. Он должен выглядеть в основном как домашний экран iPhone или iPad. Я знаю, что это можно сделать, поместив определенное количество кнопок в каждую ячейку таблицы.
Однако моя проблема заключается в том, что я хочу изменить количество кнопок в каждом ряду, когда устройство перевернуто. В ландшафтном режиме я могу разместить больше кнопок в одном ряду.

Например: если в портретном режиме таблица выглядит так:
1 2 3
4 5 6
7 8 9

Я бы хотел, чтобы в ландшафтном режиме это выглядело так:
1 2 3 4 5
6 7 8 9

Есть ли простой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 27 июля 2011

Легко или сложно на основе вашего опыта на самом деле. Вот что вам по сути нужно сделать:

  1. Сначала убедитесь, что методы делегата таблицы могут правильно отображать ячейки в зависимости от ориентации (альбомной или книжной)
  2. Прослушайте событие ориентации и, когда это произойдет, просто выполните reloadData для таблицы. Попробуйте прочитать это руководство , чтобы лучше понять изменения ориентации и то, что вам нужно сделать.
0 голосов
/ 27 июля 2011

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

Для поддержания чистоты viewcontroller полезно иметь настраиваемую ячейку табличного представления, которая принимает количество кнопок в качестве параметра, а в вашем cellForRowAtIndexPath просто передайте buttonsPerRow в ячейку.

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