Così ho impostato la mia vista in IB in modo tale che questa etichetta di testo si allinea con la parte superiore della miniatura tramite vincoli.Allinea verticalmente testo UILabel con vincoli e no wrap (layout automatico, riga singola)
Tuttavia, come sappiamo, non è possibile allineare verticalmente il testo in un'UILabel. Il mio testo aggiorna la dimensione del carattere in base alla lunghezza del contenuto. Il testo a dimensioni intere è ottimo, mentre il testo di dimensioni ridotte è significativamente più basso nella vista.
Il existing solution coinvolge sia chiamando sizeToFit o l'aggiornamento del telaio della UILabel per abbinare l'altezza del testo. Sfortunatamente quest'ultima soluzione (seppur brutta) non funziona bene con vincoli in cui non si suppone che si aggiorni il frame. La prima soluzione fondamentalmente non funziona quando è necessario avere il testo autoshrink fino a quando non tronca. (Quindi non funziona con un numero limitato di linee e autoshrink).
Ora sul motivo per cui la dimensione intrinseca (altezza) del marchio non si aggiorna come la larghezza fa quando è impostata sulla sua dimensione naturale tramite "Dimensione per adattarsi ai contenuti" è oltre me. Sembra che dovrebbe assolutamente, ma non è così.
Quindi sono rimasto alla ricerca di soluzioni alternative. Per quanto posso vedere, potrebbe essere necessario impostare un limite di altezza sull'etichetta e regolare la costante di altezza dopo aver calcolato l'altezza del testo. Qualcuno ha una buona soluzione?
@ hans-sjunnesson: hai provato il ritiro automatico con una regolazione della linea di base di "Nessuno"? –
@ JörnEyrich mentre questo farà aderire il testo alla parte superiore del fotogramma, il frame effettivo di UILabel non si restringerà verso l'alto. Ciò significa che se si dispone, ad esempio, di un'etichetta secondaria sotto di essa, la sottoetichetta non seguirà l'etichetta verso l'alto mentre si riduce. –
Controlla http://stackoverflow.com/a/4942766/1039901 –