2016-05-25 57 views
0

在一个视图控制器中,我有几个UIViews,它们包含一些文本标签和按钮。根据我从API接收的数据,我要么隐藏一些UIViews,要么填充数据。Swift ios只隐藏UIView或隐藏UIView内的元素

我现在的问题是,我可以隐藏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 
+1

隐藏的内视图会隐藏子视图里面... – sanman

+0

@sanmanborate是的,我可以看到它隐藏起来,但我之前并不清楚。我不知道是否在parrent视图内的子视图/按钮仍然可以活动,因此需要我设置为禁用/隐藏 – user2636197

回答

1

它也隐藏子视图。

您可以在游乐场测试这一点很容易不够:

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

+0

是的,我可以看到它隐藏起来,但我之前并不清楚。我想知道在parrent视图内的子视图/按钮是否仍然可以被激活,因此需要我设置为禁用/隐藏 – user2636197

0

你一定要只隐藏父视图。

+0

是的,我可以看到它被隐藏起来,但我之前并不清楚。我不知道在parrent视图内的子视图/按钮是否仍然可以活动,因此需要我设置为禁用/隐藏 – user2636197

1

就隐藏认为其他观点

+0

是的,我可以看到它隐藏起来了,但我之前并不清楚。我不知道在parrent视图内的子视图/按钮是否仍然可以被激活,因此需要将其设置为禁用/隐藏 – user2636197

+0

我不相信它们也必须隐藏。如果父视图隐藏,它们将被禁用 – Jacksmackod