iOS Swift如何根据下拉列表中的selction显示动态ui

时间:2017-05-27 07:47:57

标签: ios iphone swift dropdown

Heloo all,

我是ios swift的新手。我的屏幕有一个问题。

我有一个屏幕,其中包含以下选项的下拉列表:current bill,water bill., bike bill, loan bill, phone bill....so on

我告诉过你。但我需要的是,每当我从下拉列表中选择任何选项。我需要在下拉列表中为每个选项显示一些ui元素,如标签,文本字段,文本框,动态谎言。

例如:

如果我选择water bill,那么在我的下拉列表下方,我需要显示两个带有名称,id的标签ui。

如果我选择current bill,那么在我的下拉列表下方,我需要显示一个与占位符“输入当前帐单号”的文本

因此,当我从下拉菜单中选择任何选项时,我都需要显示一些动态的ui。

我怎样才能实现?

任何帮助将全部使用

2 个答案:

答案 0 :(得分:0)

您可以使用容器视图来实现:

1-将您的下拉菜单添加到您想要的任何视图控制器。

2-在该下拉菜单下添加容器视图,并使用自动布局使该容器视图填充您希望其可切换/动态的位置。

3-重做步骤2,与下拉菜单中的项目一样多次。

4-为每个容器视图创建IBOutlet,为您的下拉菜单创建IBAction

5-在下拉菜单的IBAction中,将一个容器视图的isHidden属性设置为false,并根据其中的true将其设置为event.preventDefault(); 用户从下拉菜单中选择。

这是一个tutorial,用一个简单的例子来解释。

答案 1 :(得分: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)