2016-07-10 2 views
0

Ich habe eine UIView als untergeordnetes Objekt und möchte den Aktualisierungswert der x- und y-Ursprungspunkte abrufen, wenn die Ansicht ihre Ausrichtung von Querformat zu Hochformat oder umgekehrt ändert . Ich verwende AutolayoutAktualisiert die mittlere Position einer UIView, nachdem die Ausrichtung geändert wurde iOS8

Ich habe diese beiden Methoden versucht, aber die Werte wurden nicht innerhalb dieser Methode aktualisiert.

Kann mir bitte jemand sagen, das ist ihre jede Methode, die ausgeführt wird, wenn die Ausrichtung geändert und Werte aktualisiert werden.

+0

Können Sie 'viewWillLayoutSubviews'/'viewDidLayoutSubviews' nicht verwenden? –

Antwort

1

Folgende Methode wird nach dem Übergang aufgerufen. Sie können innerhalb dieser Methode überprüfen.

func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) 
0

Sie auch Position in

-(void) layoutSubviews 

Oder wenn Sie einen Controller verwenden verfolgen können: was bedeutet, jedes Mal Ihre Ansicht neu gezeichnet ist

-(void) viewDidLayoutSubviews 

Diese Methode ist rufen, dass es wird auch nach dem Ändern der Orientierung aufgerufen werden. Auch FYI, ich bevorzuge, diese Methode nicht zu verwenden, um irgendein neues Layout zu setzen, aber nur, um Position zu erhalten, wie Sie angefordert haben. Wenn Sie Frame in dieser Methode setzen, können Sie schlechtes Verhalten haben, schwer zu debuggen;)

Verwandte Themen