Swift ios只隐藏UIView或隐藏UIView中的元素

时间:2016-05-25 17:28:01

标签: ios iphone swift uiview

在一个viewcontroller中,我有一些UIViews,它们会保留一些文本标签和按钮。根据我从API收到的数据,我隐藏了一些UIViews或用数据填充它们。

我现在的问题是,我可以隐藏UIView还是我还要隐藏嵌套在UIView内的所有元素?

例如:

myView.hidden = true
myView.userinteractionsEnabled = false

vs

myView.hidden = true
myView.userinteractionsEnabled = false

// And some stuff inside/nested myView
myButton.hidden = true
myButton.userinteractionsEnabled = false
myLabel.hidden = true

3 个答案:

答案 0 :(得分:2)

它也隐藏了子视图。

您可以在Playground中轻松测试:

import UIKit

var v = UIView(frame: CGRectMake(0,0, 600, 600))
v.backgroundColor = UIColor.redColor()

var subv = UIView(frame: CGRectMake(100,100, 200, 200))
subv.backgroundColor = UIColor.blueColor()

var subv2 = UIView(frame: CGRectMake(10,10, 50, 50))
subv2.backgroundColor = UIColor.whiteColor()

subv.addSubview(subv2)


v.addSubview(subv)

subv.hidden = true
v

结果如下:

Subviews in a playground

答案 1 :(得分:1)

隐藏其他视图所在的视图。隐藏视图也会隐藏其子视图。

答案 2 :(得分:0)

您只需要隐藏父视图。