5

iPhoneでSettings.appを使用するのはそれほど難しくありません。実際、Xcodeがほとんどの作業を行います。Settings.bundleをプロジェクトに追加するだけで、ほぼ無料で利用できます。

現在、私はiPhone用のアプリケーションを開発しています。このアプリケーションでは、ユーザーがいくつかの「フォーム」、主にキーと値のペア、いくつかのスライダー、および「ドロップダウン」メニューを備えたいくつかのモーダルビューに入力する必要があります。非常によく似たタスクは、Settings.appが行うことと似ています。

私の意見では、自分でフォームを作成するのは大変な作業なので、この種の作業のフレームワークがあるのではないかと思います。残念ながら、Appleは独自のソリューションを提供していないようです。おそらく誰かが、ベストプラクティスを説明するフレームワークまたはWeb上の記事を知っています。

私が参照しているパターンがわからない場合は、スクリーンショットを作成しました:http: //img.skitch.com/20090625-s8bf6ahybwe3cesd1id38h3nt.jpg

4

5 に答える 5

8

http://www.inappsettingskit.comをチェックしてください。これはいくつかのアプリで使用されており、積極的に維持されています(私自身と他の多くの人によって)。

于 2010-07-20T08:50:29.970 に答える
3

多くの調査の後、私は最初の質問に対する良い答えを得ることができませんでした。しかし、今ではgithubのこのリポジトリに出くわしました:mySettings

于 2009-06-27T22:41:27.670 に答える
2

少なくともAppleがユーザーを設定に送信してからアプリに戻すのを簡単にするまでは、アプリに設定を入れることをお勧めします。新しい3.0UITableViewCellStylesを見ると、セルの設定の種類に合わせて調整された1つのスタイルがあります。これにより、単純な設定画面を非常に簡単に作成できます。

于 2009-06-25T15:43:30.220 に答える
1

設定を行う場合は、それらを正しい場所に配置し、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です-しかし、同じコードがすべてのコントロールで非常にうまく機能しました。

于 2009-06-25T11:11:35.433 に答える
0

彼が求めているのは、settings.bundleファイルから設定インターフェイスを再作成するフレームワークであり、設定アプリとアプリ内の両方に設定を含めることができると確信しています。

そのようなことはまだ知りませんが、実際に使うことができ、書くことを考えました。

于 2009-06-25T15:11:44.370 に答える