4

これは何についてですか

私が使用している多くのアプリには、フォーム (セット) を実装する同様の方法があることに気付きました。例えば:

ここに画像の説明を入力 ここに画像の説明を入力

これは基本的に、設定アプリでも使用されているのと同じスキームです。

私の問題

このようなものを作成する必要がある場合、基本的に grouped を作成し、UITableViewそれぞれが持つフィールドの数を含むグループの数を定義します。cellForRowAtIndexPath基本的には、正しいフォーム フィールドを として設定する大きな switch ステートメントになりますaccesoryView。すべてのフォーム フィールドをコードで事前に作成し、それらが適切に設定されていることを確認します。

しかし、私はもっと良い方法があるに違いないと感じています。これは非常に多くの繰り返しコードのように感じます。そして、きれいにするのが非常に難しいと思うコード。

私が欲しいもの

理想的には、Interface Builder から完全にフォームを書きたいと思います。これは私にとって非常に直感的だからです。UITableViewそのため、 Interface Builder でコンテンツを作成します。もちろん、IB でフォームを作成するだけでも簡単ですが、グループ化されたテーブルビューにフィールドを配置することは簡単ではありません。

別のオプションは、設定バンドルのようなものです。フィールドのタイプと名前を定義し、アプリのコードがテーブルをレンダリングし、フィールド インスタンスを作成します。

このような非常に一般的な問題をこれほど複雑な方法で処理する必要があるのは非常に奇妙に思えるため、より良いものを探しています。特に、非常に多くの一般的な問題がすでに適切に処理されていることを考えると. しかし、この問題については、何も見つかりません。

だから:私のアプローチは本当にこれらの種類のフォームを表示する最良の方法ですか?部品は改善できますか?既存の iOS ライブラリが私を助けるために見落としている方法はありますか?

4

1 に答える 1

0

AUITableViewは本当に最善の方法です。を使用することもできますが、提供UIScrollViewされる組み込み関数を失うため、より多くの作業が必要になりUITableViewます。

私が完全に理解しているIBを使用したい場合は、IBでそれぞれを作成UITableViewCellし、オブジェクトでレイアウトし、 をリンクしてIBOutletから、そのように に含めることができますUITableViewUITextFieldこれにより、使用しているオブジェクト ( s やUISwitchesなど) のアクションとデリゲートを簡単に設定することもできます。

于 2011-07-18T18:53:04.233 に答える