Tengo UIBarButtonItem en una UIToolbar en la parte superior de mi aplicación de iPad (iOS 5.1.) Tengo su ancho establecido en 65 en Interface Builder. Es de estilo 'bordeado' e identificador 'personalizado'. La etiqueta de texto y el tinte cambian cuando se presionan:Cómo evitar que UIBarButtonItem con atributos personalizados cambie de tamaño
[btnA setTitle:@"State A"];
[btnA setTintColor:[UIColor STATE_A_COL];
Y así sucesivamente, tomando varias etiquetas y colores. Esto funcionó bien, el botón no cambió de tamaño a pesar de que los títulos para los distintos estados son bastante diferentes en longitud.
Luego añade este código para establecer la fuente, en el arranque:
UIFont * futura = [UIFont fontWithName:@"Futura" size:13];
NSDictionary *attributes = [NSDictionary dictionaryWithObject:futura
forKey:UITextAttributeFont];
[btnA setTitleTextAttributes:attributes forState:UIControlStateNormal];
Ahora, el botón está dimensionado para ajustarse al ancho del título que tiene en el inicio. Cambia de tamaño a medida que cambian los títulos. ¿Cómo puedo bloquear el tamaño? No entiendo la interacción aquí; Pensé que todo lo que había hecho era cambiar el atributo de la fuente del título, no otra cosa sobre el botón.
También he intentado fijar explícitamente la propiedad width
:
[btnA setWidth:65.0];
vez más en vano.
Tim, ¿qué tamaño quieres? – Carl