2017-05-27 1 views
0

Heloo all、iOSドロップリストからの選択に基づいて動的UIを表示する方法をスウィフト

私はios swiftを初めて利用しています。私は私の画面に1つの問題があります。私はこれを曽根いるcurrent bill,water bill., bike bill, loan bill, phone bill....so on

は、私のようなオプションのドロップダウンリストで一つの画面を持っています。しかし、私が必要とするのは、ドロップダウンリストから任意のオプションを選択するたびにです。私は、ラベル、テキストファイル、テキストボックスのようないくつかのUI要素を表示する必要があります。例えば

私はwater billを選択した場合は、その後、私のドロップダウンの下に、私は名前、IDを持つ2つのラベルのUIを表示する必要があります。私はドロップdown..iからいずれかのオプションを選択し、これまでとき

私はcurrent billを選択した場合、その後、ダウン私のドロップの下に、私はプレースホルダに提出つのテキストを表示する必要があるだから賢明なよう

「は現在の請求書番号を入力してください」いくつかの動的UIを表示する必要があります。

どうすればいいですか?

すべてのヘルプはあなたがそれを達成するために、コンテナのビューを利用することができ、USE FULL

+0

これらのビューをすべて非表示にすることはできません。特定のオプションをクリックするだけで表示要素を作成できますか? – Raymond

+0

@レイモンドはい私も思った。しかし、ドロップダウンリストに20個のオプションがある場合は、同じスクリーンに20個の異なるUIを置くと ?? ...それでは、ユーザーに表示するには良い練習/標準ですか? –

+0

ええと、私は参照してください。もう一つの解決策。各オプションのnibファイルを作成し、選択後に表示します。 – Raymond

答えて

0

次のようになります。

1-あなたが望む任意のビューコントローラにダウンメニューあなたのドロップを追加します。

2ドロップダウンメニューの下にコンテナビューを追加し、自動レイアウトを使用すると、そのコンテナビューが切り替え可能/動的になりたい場所に表示されます。

3-ステップ2をドロップメニューの項目と同じ回数繰り返します。

4コンテナビューごとにIBOutletを作成し、ドロップダウンメニューにIBActionを作成します。メニューダウンあなたのドロップのIBAction

5-、falseに1つのコンテナビューのisHiddenプロパティを設定し、ドロップダウンメニューから、ユーザの選択に基づいて、他の人のためtrueに設定します。

ここには簡単な例で説明するtutorialがあります。以下のためのストーリーボードで

+0

大丈夫です。つまり、同じ画面に1つ上のようなコンテナを置く必要があります。そして、ドロップダウンリストのibactionを作成する必要があります。私はドロップダウン選択に基づいてコンテナのビューを表示するためにいくつかのブール事を使用する必要があります..右?? –

+0

しかし、同じように見えるのは、上記の画面と同じ画面にuiviewを配置するようにしていると思うのですか?..それ以上のコンテナを1つずつ保持することは実用的ですか? –

+0

はい、お互いの上に多くのコンテナビューがあり、その選択に基づいてドロップダウンメニューの「IBAction」からどのコンテナビューが表示されるかを制御します。 多くのコンテナビューを持つことは問題ではないため、各コンテナビューにはビューコントローラが組み込まれているため、各コンテナビューのビューコントローラに関連するすべてのものを別のクラスに管理します。 –

0

だけのドラッグ&ドロップviewcontrollers現在bill,water bill., bike bill, loan bill, phone billなど

そして、あなたは子供のコントローラとして、あなたの必要なコントローラを追加するコードの下のリストを使用ダウン​​あなたのドロップからオプションを変更し、これまでとき。

let currentBill = self.storyboard?.instantiateViewController(withIdentifier: "currentBill") as! CurrentBillVC 

// remove other views   
for k in 0..<self.parentView.subviews.count { 
    self.parentView.subviews[k].removeFromSuperview() 

} 

self .addChildViewController(currentBill) 

// Add view to your maincontroller i named it parent view in which you want to display other controller w.r.t your drop down list. 

self.parentView .addSubview(currentBill.view) 

currentBill.didMove(toParentViewController: self) 
関連する問題