2011-01-02 4 views
0

Я создаю экран настроек для приложения iPhone, и он должен напоминать сгруппированный вид таблицы. Каждая «ячейка» должна вести себя как кнопка. У большинства ячеек есть только изображение, вид надписи и индикатор раскрытия. В дополнение к метке будет отображаться значение. Все эти кнопки будут отображаться при просмотре.лучший способ построения экрана настроек iphone

Теперь, как реализовать это? Я рассматривал возможность просто создать набор кнопок с пользовательскими фоновыми изображениями, или было бы лучше всего использовать табличный вид. Если это так, то что это должно быть реализовано. До сих пор я использовал только представления таблиц для отображения каких-то динамических данных, в которых каждая ячейка отображала одно и то же основное детальное представление. Мне любопытно выяснить, как настроить cellForRowAtIndexPath. Будет ли это содержать какой-либо оператор switch для настройки каждой ячейки по отдельности или есть ли более простой способ справиться со всем этим?

+0

95% настроек - это сгруппированные представления таблиц. Просто говорю'. – BoltClock

ответ

5

InAppSettingsKit - проект с открытым исходным кодом, который воссоздает приложение настроек внутри вашего приложения для согласованности пользовательского интерфейса. Вы можете выбрать его для своих ответов.

+0

Я закончил свой собственный для обучения, но в противном случае IASK - это находка. +1 – BoltClock

0

Настройки должны находиться в настройках «Приложения» на iPhone. Настройки вашего собственного приложения включены в стандартные настройки, добавив параметр Settings.bundle в ваше собственное приложение.

Это прямолинейно, и соответствует стилю.

Как это сделать, описано здесь:

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Preferences/Preferences.html%23//apple_ref/doc/uid/TP40007072-CH6-SW1

+1

OP спрашивает, как имитировать его в своем приложении. – BoltClock

2

Вы хотите использовать UITableViewController с секциями, установленными быть .

Каждая из групп - это раздел, поэтому вы захотите вернуть сколько у вас разделов с - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView.

Для каждого раздела вы хотите указать, сколько строк есть с - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section.

Вы должны настроить каждую ячейку с помощью - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath (которая, между прочим, сообщает вам, какая конкретная строка какого раздела вы изменяете в переменной indexPath).

Наконец, вы хотите, чтобы обрабатывать строки нажмите в - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath, используя шаблон XCode предоставляет вам:

[self.navigationController pushViewController:detailViewController animated:YES]; 
[detailViewController release]; 

Надеется, что это помогает!

0

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

В большинстве случаев экран должен соответствовать экрану настроек по умолчанию. Для этого вы должны использовать tableView с настраиваемыми ячейками. Вы можете использовать следующие элементы управления внутри ячеек таблицы в зависимости от вашего типа настройки. 1. alabel --- для статического текста, 2. переключатель --- для настроек с двумя значениями (ON/OFF или o/1 или любые два набора значений), например. nightMode on/off, 3. слайдер ---- для указания диапазона значений, например, яркости и т. д.

Это можно сконфигурировать в методе делегата cellForRowIndex в виде таблицы на основе индекса строки. Вы также можете создавать разделы для группировки похожих типов настроек под одним типом.

Смежные вопросы