2017-11-23 1 views
0

Ich versuche, alle Ansichten in meinem UIViewController zu erhalten.Erhalten Sie alle Ansicht in ViewController

Ich verwende diesen Code:

for subview : UIView in self.view.subviews{ 
     //code here 
    } 

das Problem ist, dass ich nicht Ansichten erhält, die in einem UIView sind. so bekomme ich alle Sicht außer ihren Kindern.

bitte, wie bekomme ich alle Ansichten, die entweder Kind oder Eltern in meinem UIViewController sind? Auch wenn eine Ansicht ein Kind hat, das ein Kind hat, das ein Kind hat. Ich möchte alle Ansichten durchgehen.

Danke im Voraus :)

(bitte in schnellen 4,0)

Antwort

1

Sie müssen alle Subviews rekursiv verarbeiten.

func processSubviews(of view: UIView) { 
    // 1. code here do something with view 
    for subview in view.subviews { 
     // 2. code here do something with subview 
     processSubviews(of: subview) 
     // 3. code here do something with subview 
    } 
    // 4. code here do something with view 
} 

Sie benötigen Code zu setzen entweder auf Position 1, 2, 3 oder 4 (oder möglicherweise zwei oder mehr diese Orte), je nach gewünschten Ergebnissen.

Dann können Sie diese als nennen:

processSubviews(of: self.view) 
+0

vielen Dank, das funktioniert. Jetzt kann ich alle Ansichten per Code sehr einfach skalieren :) –

Verwandte Themen