2011-12-22 20 views
5

Tengo un UIButton que se establece en el XIB como 147 píxeles de ancho y 30 de alto. Tiene un texto predeterminado de 'Navegación'. Durante el curso de la aplicación, configuré el título como 'Global'. Más tarde, luego lo configuré como 'Resumen' y esta pantalla como 'Su ... ry'.UIButton texto del título truncado

He leído tantas cosas que dicen que establecer la etiqueta predeterminada para un UIButton es más larga que el texto más largo, sin embargo, 'Resumen' es más corto que 'Navegación'. El área de texto parece reducirse durante la aplicación.

No vuelvo a cargar la vista. Mi aplicación borra predominantemente elementos de una vista de desplazamiento de visualización predeterminada y vuelve a llenar con datos nuevos.

He estado usando

button.titlelabel.text = @"Summary"; 

sin embargo que estaba recibiendo ocasiones en las que esto no se reflejó en el texto que muestra, por lo que empezar a usar

[button setTitle:@'Summary' forState:UIControlStateNormal]; 

que funcionaba cada vez.

¿Hay alguna manera de forzar el área de texto dentro de un UIButton para restablecer el texto que se muestra? Preferiría no crear botones sobre la marcha, y si esto es una función del objetivo-c, entonces consideraría esto como un error.

Gracias de antemano. Chris H

Respuesta

8

No es un error de Objective-C. Objective-C es un lenguaje de programación. Si algo tiene la culpa, es UIKit, que es el marco de UI de Apple para iOS.

El problema es que su botón no cambiará de tamaño: así no se diseñó la API para UIButton. Puede resolverlo cambiando el tamaño del botón usted mismo después de configurar el título. Se puede determinar el tamaño del texto tiene que ser con:

CGSize requiredSize = [[button titleForState:UIControlStateNormal] sizeWithFont:button.titleLabel.font]; 

A continuación, puede utilizar eso para que sea un poco más grande en anchura y altura y establecer el frame de button a eso.

+0

Gracias, Perdón, como una persona relativamente nueva, no puedo diferenciar entre los diversos componentes. Gracias por la aclaración y la solución. –

Cuestiones relacionadas