2011-12-23 17 views
2

これが可能かどうかわかりませんが、そうする必要があると思われます。iosでUIエレメントを作成して動的に追加する

私がしたいことは、インターフェイスビルダーでUIViews(またはUIViewControllerが実際にどのように動作するかわからない)を作成するには... 10人で、ユーザーが選択したとおりに使用します。

たとえば、状態Aでは、彼にウィジェット1,2,3を表示したいとします。 の状態Bのウィジェット3,5,7など

EDIT:これは、前の手順でユーザーが選択したものに応じて、すべて同じUIViewControllerにつながりますが、別の方法で表示する必要があります前述の「状態」に従って。そして今、私は異なる組み合わせごとに別のUIViewControllerを作成することはできません:)

また、親ビューでそれらを配置することができなければなりません。

提案がありますか?

答えて

2

あなたのコメントに答えて、あなたは本当にあなたが望むだけ行うことができます。あなたのカスタムビューのための別のnibファイルを作成して、MyView.xibとし、File's OwnerのクラスをあなたのView Controllerクラスと同じにします。 、nibファイルで

@property (nonatomic, assign) IBOutlet MyView * myView; 

をトップレベルのビューに、ビューコントローラのmyView口をフックアップ:

は、その後、あなたのビューコントローラでは、カスタムビューの IBOutletプロパティを作成します。

その後、すべてを行う必要があり、コードビューをロードするには:

[[NSBundle mainBundle])loadNibNamed: @"MyView" owner: self options: nil]; 

とペン先が読み込まれ、myViewに割り当てられます。次に、それをサブビューとして追加することができます。

別のビューコントローラでこの機能を使用するには、同じ名前のコンセントがあることを確認してloadNibNamed:コールを実行すれば動作します。

+0

理想的には、1つまたは複数のXIBですべてのUIViewウィジェットを作成し、アプリケーションの状態に応じてalloc-initwithFrameを作成してスーパービューに追加したいとします。 – magtak

+0

アイデアを伝えるためには、私はUIViewControllerにつながるUITableViewのシーケンスを持っています。ユーザーがこれらのUITableViewControllerで行った選択に応じて、私は別の "状態"を提示したいと思います。のように、 "ウィジェット"の異なる組み合わせ。 – magtak

+0

とあなたのために大きな脂肪の緑色のチェック! – magtak

関連する問題