Есть ли библиотека или инфраструктура для установки предпочтений из приложения iPhone? - PullRequest
5 голосов
/ 25 июня 2009

Использование Settings.app на iPhone не так уж сложно. На самом деле Xcode выполняет большую часть работы за вас. Просто добавьте файл Settings.bundle в ваш проект, и вы получите его почти бесплатно.

В данный момент я разрабатываю приложение для iPhone, которое требует от пользователя заполнения нескольких «форм», в основном пар «ключ-значение», некоторых ползунков и нескольких модальных представлений с помощью «выпадающих» меню. Так похоже, что задача похожа на то, что делает Settings.app.

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

Если вы не понимаете, к какому шаблону я обращаюсь, я сделал скриншот: http://img.skitch.com/20090625-s8bf6ahybwe3cesd1id38h3nt.jpg

Ответы [ 5 ]

8 голосов
/ 20 июля 2010

Проверьте http://www.inappsettingskit.com. Он используется в нескольких приложениях и активно поддерживается (мной и другими). ​​

3 голосов
/ 28 июня 2009

После долгих исследований мне не удалось получить хороший ответ на мой первоначальный вопрос. Но сейчас я наткнулся на этот репозиторий на github: mySettings

2 голосов
/ 25 июня 2009

Лучше поместить настройки в приложение, по крайней мере, пока Apple не упростит отправку пользователя в «Настройки» и затем обратно в приложение. Если вы посмотрите на новый 3.0 UITableViewCellStyles, то есть один стиль, специально разработанный для настройки ячеек типа настройки - это позволит довольно легко создать простой экран настроек.

1 голос
/ 25 июня 2009

Хорошо, если вы делаете настройки, я бы посоветовал поместить их в правильное место и использовать файл Settings.bundle.

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

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

Использовать UITableViewController

для каждой ячейки, которую вы хотите использовать, введите код, подобный следующему:

        cell.textLabel.text = @"Last name:";
        UIFont *labelFont = [UIFont systemFontOfSize:[UIFont labelFontSize]];
        CGSize textSize = [cell.textLabel.text sizeWithFont:labelFont];
        baseRect.origin.x = textSize.width+15;
        baseRect.origin.y +=7;
        baseRect.size.width = baseRect.size.width - textSize.width - 15;
        baseRect.size.height = 23;
        UITextField *textField = [[UITextField alloc] initWithFrame:baseRect];
        textField.keyboardType = UIKeyboardTypeAlphabet;
        textField.returnKeyType = UIReturnKeyDone;
        textField.clearButtonMode = UITextFieldViewModeWhileEditing;
        textField.delegate = self;
        textField.placeholder = @"last name";
        [textField addTarget:self action:@selector(lastNameChanged:) forControlEvents:UIControlEventAllEditingEvents];
        textField.tag = 182;
        [cell.contentView addSubview:textField];    
        [textField release];

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

0 голосов
/ 25 июня 2009

Я вполне уверен, что он запрашивает структуру, воссоздающую интерфейс настроек из файла settings.bundle, чтобы настройки могли быть как в приложении настроек, так и в вашем приложении.

Я пока не знаю ничего подобного, но я действительно мог бы использовать один, и я подумал написать его.

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