Tengo UILabel
A veces quiero centrarme verticalmente en una celda. Esto tiene que hacerse programáticamente. He intentado añadir la siguiente restricción para centrarla (LOCNAME es la UILabel):ios 6: Centre UILabel verticalmente usando las restricciones de diseño automático
[cell addConstraint:[NSLayoutConstraint constraintWithItem:cell
attribute:NSLayoutAttributeCenterY relatedBy:0 toItem:cell.locName
attribute:NSLayoutAttributeCenterY multiplier:1 constant:0]];
Este es el resultado me sale:
Parece que su centrado, pero tal vez cambiando la altura de UILabel
o algo?
Aquí está el controlador de vista de IB:
¿Cómo puedo lograr vertical, centrado mediante programación?
¿Por qué esto tiene que hacerse programáticamente? ¿Por qué no puedes simplemente diseñar una celda diferente usando IB y secuestrar eso en lugar de este? – slf
¡Gracias! Eso hará el truco para mi caso específico. ¿Qué harías si no estuviéramos lidiando con células? Digamos que solo estábamos tratando de centrar una etiqueta en un UIView genérico programáticamente. –
Puede que esta no sea la mejor manera, pero probablemente calcule la altura y haga un poco de matemática para averiguar qué debe ser el CGRect del marco. – slf