如何让按钮一次添加一个视图?
Posted
技术标签:
【中文标题】如何让按钮一次添加一个视图?【英文标题】:How do I make a button add one view at a time? 【发布时间】:2019-01-15 23:56:57 【问题描述】:我正在练习创建一个具有 3 个视图的应用。每个视图都有一个隐藏自身的按钮。现在,我在视图之外添加了一个按钮,以便在隐藏它们后重新添加它们,但是,当我删除视图并按下它时,它会显示所有三个视图。我希望它一次添加一个视图(不删除其他视图)。我能做些什么? 这是我的代码,我什至在考虑添加多个添加按钮,但不清楚。
@IBAction func addViewButton(_ sender: Any)
view1.isHidden = false
view2.isHidden = false
view3.isHidden = false
【问题讨论】:
您没有真正提供足够的细节 - 发布的答案可能就足够了。但是,如果您想将视图“绑定”到特定按钮,请查看tag
属性。这正是它的用途......给每个按钮一个特定的标签,在“通用”功能中检查它,然后从那里开始!
你真正需要的..你能附上任何截图
【参考方案1】:
在你的 ViewController 中声明一个类似于 currentVisibleViews 的变量,让我们说一开始只有第一个是可见的,所以我们从数字 1 开始,并将你的视图添加到数组中以便于控制:
var currentVisibleViews = 1
var viewArray = [UIView]()
在viewDidLoad
,将您的观点添加到viewArray
:
view1.isHidden = false
view2.isHidden = true
view3.isHidden = true
viewArray.append(view1)
viewArray.append(view2)
viewArray.append(view3)
然后在您的按钮中:
@IBAction func addViewButton(_ sender: Any)
if currentVisibleViews > 2
viewArray.forEach (view) in
view.isHidden = true
currentVisibleViews = 0
else
viewArray[currentVisibleViews].isHidden = false
currentVisibleViews += 1
上面的代码是这样工作的:
-
首先所有视图都是可见的
第一次点击将隐藏所有视图
然后每次点击都会使视图可见
转到第 2 步(一旦所有视图都可见)
通过这种方式,你可以只有一个函数来控制你所有的视图,它不再必须是 IBAction,它可以只是你的 ViewController 的一个方法
【讨论】:
等等,我是初学者,如何使用 UIViews 创建数组? 就像我在回答中所做的那样,您有自己的观点吗?在它们下面创建数组,如:let viewArray = [view1, view2, view3]
当我尝试时,我得到一个快速编译器错误,上面写着 以上是关于如何让按钮一次添加一个视图?的主要内容,如果未能解决你的问题,请参考以下文章
如何在UIPageViewController顶部添加按钮?
如何从同一方法外部将按钮添加到 UIScrollView 作为子视图?
用iframe后 点后退按钮时总是在潜套框里后退,如何让整个父页面整体后退呢?