Сгруппированная таблица в стиле настроек - PullRequest
6 голосов
/ 04 декабря 2008

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

Мой вопрос здесь: каков самый чистый способ создания этой таблицы? Вы обычно создаете подкласс UITableViewController, а затем подкласс UITableViewCell для каждого другого типа ячеек и пишете поддерживающие классы для этих ячеек? То есть, если у вас есть таблица стилей настроек с 4 разделами, все разные типы ячеек, вы загрузите в таблицу 4 кончика и импортируете 4 файла классов? Программно установить фрейм, представления, текстовые поля и пометить их для последующего доступа?

Ответ (ы) на этот вопрос, вероятно, субъективен, но я хотел бы знать, что вы, эксперты, считаете наиболее элегантным подходом к этой общей проблеме.

Ответы [ 3 ]

6 голосов
/ 04 декабря 2008

Самый простой способ сделать это - просто добавить свои элементы управления во время tableView: cellForRowAtIndexPath: метод.

Я также рекомендую это, чтобы помочь загнать ваш код: Техника для использования UITableView и сохранения вашего здравомыслия

1 голос
/ 09 мая 2009

Библиотека Three20 (извлечена из приложения Facebook для iPhone) содержит набор готовых ячеек, содержащих различные элементы управления.

(Не уверен, что вы хотите их использовать, однако. Three20 немного страдает от «not-изобретено-здесь» и пытается подклассифицировать и расширять все, поэтому добавление его добавляет немного беспорядка в ваш проект. Но по крайней мере, вы можете использовать его в качестве примера.)

P.S. Ваш вопрос вдохновил меня на открытие темы « Какие ваши любимые уловки UITableView / UITableViewCell? » в Stack Overflow, ознакомьтесь с другими советами.

1 голос
/ 04 декабря 2008

Я бы предпочел установить большинство настроек, которые я могу в Интерфейсном Разработчике, вместо того, чтобы писать целую кучу кода, чтобы сделать визуальную / верстку правильной. Как вы можете себе представить, в симуляторе iPhone потребуется несколько раундов «доработки - сборки - тестирования», чтобы выстроить этот специальный вид таблицы так, как вы этого хотите.

Я чувствую, что, вероятно, немного проще выполнить все эти грубые визуальные изменения в IB, а затем динамически загружать все пользовательские UITableViewCell через их идентификаторы в коде. Затем вы могли бы сделать последний раунд настройки этого кода, если то, что вы хотите, невозможно выполнить в IB.

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