2016-05-23 8 views
0

Ich wundere mich, wenn es möglich ist, eine View-Controller-Ansicht über eine seiner Kind-View-Controller-Ansicht zu setzen?Wie wird eine Ansicht über die Sicht eines untergeordneten Ansicht-Controllers festgelegt?

Lassen Sie uns das erklären mit einem Beispiel:

Sagen wir, ich habe zwei UIViewController s: parentVC und childVC. childVC ist ein Kind von parentVC. Jetzt habe ich eine UIButton (genannt button), die eine Unteransicht von parentVC.view ist.

Ich habe childVC von parentVC wie folgt aus:

self.addChildViewController(childVC) 
childVC.didMoveToParentViewController(self) 
childVC.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height 
self.view.addSubview(childVC.view) 

Nun, ich button wollen auch zeigen, wenn childVC.viewparentVC.view abdeckt.

Denkst du, es gibt einen Weg, das zu tun? Ich habe versucht, mit button.layer.zPosition zu spielen, aber ich konnte nicht erfolgreich sein.

+0

versuchen self.view.sendSubviewToBack (childVC.view) ... – sanman

Antwort

2

Ja, Sie können nur die Schaltfläche der Ansichtshierarchie hinzufügen oder die Schaltfläche in der Hierarchie nach dem Hinzufügen des untergeordneten Ansichtscontrollers verschieben.

+1

Danke Danny, irgendwie blöd von mir, dass ich das vorher nicht ausprobiert habe ... Ich habe endlich 'button' nach vorne gebracht:' self.view .bringSubviewToFront (button) ' – Randy

+0

wie es funktioniert, wenn button nicht unterView von childViewController ist .. @ randy & @ Danny –

+0

@Rohit: Die Ansicht des Kind View-Controllers lebt in der View-Hierarchie des übergeordneten View-Controllers. Stellen Sie es sich als einen Container vor, den Sie auf die gleiche Weise anpassen können, wie Sie es bei jeder anderen Ansicht tun würden. –

0

Ja, Sie können das zuerst tun, wenn Sie eine Kindansicht auf einem Viewcontroller laden, eine Ansicht wie machen. Es gibt einen Container oben, der fast 90% Bildschirm abdeckt und unten gibt es eine Schaltfläche. Wenn Sie also die Ansicht auf Container und Unteransicht laden, werden Sie oben angezeigt, wenn Sie auf eine Schaltfläche tippen, eine Unteransicht hinzufügen und diese Unteransicht nach vorne bringen.