2015-10-27 9 views
8

Qualcuno può spiegare le differenze tra questi 2 metodi? The docs for UIViewController indica esplicitamente che viewWillTransitionToSize deve essere utilizzato per la gestione delle rotazioni, ma facendo clic su UIContentContainer page, il metodo willTransitionToTraitCollection crea un ingresso confuso.viewWillTransitionToSize: vs willTransitionToTraitCollection:

Penso di capire la differenza concettuale tra un cambio di classe di dimensione (modifica della collezione di tratti) e un cambiamento di dimensione, ma non sono sicuro quale metodo implementare in quali circostanze. Sarebbe utile chiarire da un mago UIKit!

risposta

16

Ogni volta che si desidera eseguire una risposta a un utente che ruota il proprio dispositivo, è necessario utilizzare viewWillTransitionToSize, se lo si fa è sicuro che le azioni vengono eseguite come viene chiamato ogni volta che la finestra dell'app cambia dimensione.

Se solo si desidera agire quando le variazioni di raccolta tratto, per esempio se si hanno un certo collectionViewLayout insieme per una classe Compact dimensioni e un altro che si desidera utilizzare per Regular si utilizza willTransitionToTraitCollection.

Se la collezione di tratti cambia, cambia anche la dimensione. Ma non funziona il contrario. Un iPad ritratto e un iPad paesaggio hanno gli stessi tratti, ma sono di dimensioni diverse. Aggiungi il multitasking al mix e disponi di una varietà di dimensioni che si associano a solo due classi di dimensioni traitCollection.

+0

Grazie, tutto chiaro ora. – Gregzo

Problemi correlati