2012-05-16 11 views
8

Ho un UIView personalizzato, che ho inserito usando Xcode (4). Devo impostare alcuni stati di default, in base ai limiti effettivi della vista. Durante awakeFromNib, i limiti sembrano restituire la dimensione della vista nel layout dello storyboard in Xcode.I limiti di UIView personalizzati non sono corretti durante il periodo di svegliFromNib - quando vengono impostati?

La vista è nel lato dei dettagli di un UISplitViewController, che in Xcode ha le dimensioni di uno schermo iPad a ritratto completo, ma se l'applicazione viene caricata in modalità orizzontale, quindi, tramite molle e montanti, la sua dimensione viene modificata, ma questo sembra accadere dopo sveglio da nib.

Devo impostare questo stato in qualche altro metodo?

risposta

0

La risposta è stata, probabilmente alla ricerca di, o almeno la soluzione che ho utilizzato, è quello di fornire un metodo pubblico nella UIView di essere chiamato dal UIViewController genitore viewWillAppear:

1

Dipende dal tipo di stato impostato: se dipende dai limiti, è necessario reimpostarlo ogni volta che viene ruotato il dispositivo, presumibilmente? In tal caso, l'override di setFrame: potrebbe essere una scommessa migliore: assicurati di chiamare l'implementazione della superclasse prima di fare qualsiasi altra cosa, però.

+0

Sto cercando di set up " "predefiniti" e ciò che è ragionevole varia a seconda delle dimensioni e della forma dello schermo. È solo una cosa da prima corsa, perché da quel momento in poi la vista si ricorderà. – Jono

Problemi correlati