Ho un UILabel
A volte voglio centrare verticalmente in una cella. Questo deve essere fatto a livello di programmazione. Ho provato ad aggiungere il seguente vincolo per centrarlo (LOCNAME è l'UILabel):ios 6: Centra UILabel verticalmente utilizzando i vincoli Auto Layout
[cell addConstraint:[NSLayoutConstraint constraintWithItem:cell
attribute:NSLayoutAttributeCenterY relatedBy:0 toItem:cell.locName
attribute:NSLayoutAttributeCenterY multiplier:1 constant:0]];
Questo è il risultato che ottengo:
Sembra che la sua centratura, ma forse cambiando l'altezza dello UILabel
o qualcosa del genere?
Ecco il controller della vista in IB:
Come posso ottenere verticale centraggio programatically?
Perché questo deve essere fatto a livello di programmazione? Perché non puoi semplicemente progettare una cella diversa usando IB e sequester che invece di questa? – slf
Grazie! Questo farà il trucco per il mio caso specifico. Cosa faresti se non avessimo a che fare con le cellule? Diciamo che stavamo solo cercando di centrare programmaticamente un'etichetta in un UIView generico? –
Questo potrebbe non essere il modo migliore, ma probabilmente calcolerei l'altezza e fare un po 'di matematica per capire cosa dovrebbe essere il CGRect del frame. – slf