problema con rotazione e UILabels con set dimensioni utilizzando sizeWithFont di NSString
-
26-09-2019 - |
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
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.