Domanda

Ho un paio di UILabels a mio modo di vedere con i loro set altezza utilizzando sizeWithFont:.

ho impostato l'autoreszingMask di larghezza ed altezza flessibile, tuttavia sulle ruotare le variazioni di larghezza (presumo perché i cambiamenti di self.view larghezza e relativo insieme con un parente larghezza self.view) ma l'altezza non cambia a di nuovo in forma il contenuto. Questo si traduce in un grande spazio bianco in alto e in basso.

Basta chiedersi come avrei potuto fare per ri-dimensionamento della UILabel a rotazione? C'è un modo automatico di fare questo, o c'è un modo di ottenere tutti i UILabels e ri-fare sizeWithFont quando viene ruotato il dispositivo?

I UILabels sono subviews di gerarchie UIView usati come intestazioni per le sezioni nella mia UITableView.

Grazie Tom

È stato utile?

Soluzione 2

Il problema era avere un margine flessibile sinistra e destra su un'UILabel leggermente sfalsata.

Se l'etichetta non è centrata, allora avete bisogno di scegliere destra o sinistra e impostare il margine flessibile per uno di quelli.

Altri suggerimenti

Si dovrebbe davvero inviare sizeToFit a qualsiasi UIView, soprattutto UILabel, invece di costringere alcuni dimensione arbitraria su di loro.

L'approccio migliore è di solito di primo insieme la larghezza massima e altezza corrente, quindi inviare sizeToFit, quindi regolare nuovamente la larghezza, se necessario. In caso di più righe etichette sembra che il modo più infallibile per i bug di layout evitare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top