2009-07-25 9 views
7

La Guida CA programmazione sta parlando di vincoli gestori di layout. Tuttavia, il CALayer in iPhone SDK non ha alcuna proprietà vincoli o il metodo addConstraint.Ci sono i gestori del layout dei vincoli su iPhone OS?

Dicono iPhone OS appena pretende molto fornire gestori di layout personalizzati. Ma per quanto riguarda quelli standard?

risposta

10

Sfortunatamente, nonostante la documentazione che lo dica, anche il layout delle molle e dei montanti non è presente nell'implementazione iPhone di CALayer. Questo può essere visto dalla proprietà di AutoSizeMask mancante su CALayer su iPhone.

Per Core Plot, abbiamo implementato il nostro layout di layer personalizzato tramite il metodo -layoutSublayers di CALayer. La classe CPLayer fornisce un esempio di questo approccio.

+0

Roba molto interessante, Brad! – Thanks

1

L'unico metodo che è possibile utilizzare per posizionare viste/livelli in relazione al proprio superview/superlayer è tramite il modello di molle &. I gestori di layout personalizzati non sono disponibili su iPhone.

+0

cioè utilizzando le maschere di autoresize? – Thanks

+0

Sì - per Core Animation significa che si utilizza una maschera secondo le costanti definite in CAAutoresizingMask. –

+4

La documentazione è davvero sbagliata a questo proposito. autoresizingMask non è disponibile come proprietà su CALayer su iPhone, quindi non c'è modo nemmeno di fare il layout di layer di molle e puntoni. –

1

Il supporto per il layout di Springs and Struts è disponibile tramite la proprietà autoresizingMask di UIView.

Problemi correlati