Несколько стилей в одном UITableView - PullRequest
0 голосов
/ 16 мая 2011

Какой лучший способ объединить несколько стилей в один UITableView?

Например, в приложении iTunes Music Store (вкладка «Музыка») вверху есть реклама, затем большие округлые ячейки таблицы, а затем ячейки таблицы в сгруппированном стиле и т. Д. Мне нужно иметь настраиваемую ячейку просмотра сверху затем несколько строк ячеек таблицы сгруппированного стиля, а затем несколько строк ячеек таблицы с простым стилем.

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

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 16 мая 2011

Вы говорите о стиле таблицы (у одной есть ячейки, которые имеют полную ширину вида. У других - фон линий и закругленные углы на секциях).

Возможно, вы могли бы что-то взломать, используя прокруткуview и 2 встроенных табличных представления с отключенной прокруткой, но я бы не советовал.Вы не должны помещать представления таблиц в представления прокрутки, и это будет не очень Appley и HIGy - подготовьтесь к головным болям.

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

0 голосов
/ 16 мая 2011

Пара вещей: Вы можете установить свойства UITableView tableHeaderView и tableFooterView для пользовательских представлений, чтобы получить большую часть пути к экрану приложения iTunes Music Store, о котором вы говорите.Остальное просто возвращает разные UITableViewCell типы в зависимости от того, в каком разделе вы находитесь:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    switch (indexPath.section) {
    case 0:
        // return a cell with the first section's style
        break;
    case 1:
        // return a cell with the second section's style
        break;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...