2016-05-25 12 views
0

In einem Viewcontroller habe ich ein paar UIViews, die einige Textbeschriftungen und Schaltflächen bestehen. Abhängig davon, welche Daten ich von meiner API erhalte, verstecke ich entweder einige der UIViews oder befülle sie mit Daten.Swift ios nur verstecken UIView oder auch Elemente in UIView ausblenden

Meine Frage ist jetzt, kann ich einfach verstecken UIView oder muss ich auch alle Elemente verstecken, die innerhalb der UIView verschachtelt sind?

ZB:

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

Versteck View wird Subviews innerhalb ausblenden ... – sanman

+0

@sanmanborate Ja, ich kann sehen, dass es versteckt wird, aber ich war vorher nicht klar. Ich frage mich, ob die SubViews/Buttons in der Parrent-Ansicht noch aktiv sein können und deshalb muss ich als deaktiviert/versteckt setzen – user2636197

Antwort

1

Es verbirgt die Unteransichten auch.

können Sie testen diese leicht genug, um in einem Spielplatz:

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 

Hier ist das Ergebnis:

Subviews in a playground

+0

Ja, ich kann sehen, dass es versteckt wird, aber ich war vorher nicht klar. Ich frage mich, ob die SubViews/Buttons in der Parrent-Ansicht noch aktiv sein können und daher muss ich als deaktiviert/versteckt setzen – user2636197

0

Sie müssen nur nur die übergeordnete Ansicht auszublenden.

+0

Ja kann ich sehen, dass es versteckt wird, aber ich war vorher nicht klar. Ich frage mich, ob die SubViews/Buttons in der Parrent-Ansicht noch aktiv sein können und deshalb muss ich als deaktiviert/versteckt setzen – user2636197

1

verstecken Sie einfach die Ansicht, dass die anderen Ansichten sind innerhalb von

+0

Ja, ich kann sehen, dass es versteckt wird, aber ich war vorher nicht klar. Ich frage mich, ob die SubViews/Buttons innerhalb der Parrent-Ansicht immer noch aktiv sein können und deshalb muss ich sie als deaktiviert/versteckt setzen – user2636197

+0

Ich glaube nicht, dass sie auch versteckt werden müssen. Sie werden deaktiviert, wenn die Elternansicht ausgeblendet ist – Jacksmackod