titlelabel guidelines color buttons iphone uibutton

iphone - guidelines - menu ios



UIButton de tipo UIButtonTypeCustom no mostrará el título(iPhone) (5)

¿Debo haber pasado por alto algo completamente obvio? pero mi botón muestra su imagen y tamaño correctamente, pero simplemente no puedo ver el Título para que aparezca.

Hice una prueba realmente simple, el Título ni siquiera aparece cuando hago esto:

CGRect frameBtn = CGRectMake(160.0f, 150.0f, 144.0f, 42.0f); UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setImage:[UIImage imageNamed:@"left_halfscreen_button.png"] forState:UIControlStateNormal]; [button setTitle:@"Hello" forState:UIControlStateNormal]; [button setFrame:frameBtn]; NSLog(@"Title:%@", [button currentTitle]); //prints "Title:Hello [self addSubview:button];

Tengo una clase de fábrica que genera botones personalizados para mí y pensé que había desordenado algunos detalles allí, así que moví el código anterior directamente a mi UIView , el título aún está en blanco.

¿Es esto un error o simplemente me estoy perdiendo algo delante de mis ojos?

Gracias por el par de ojos extra :)


¡Encontré el problema!

No se trata de una imagen que anule el título. Está siendo empujado fuera del cuadro por la imagen.

Intenta usar esto:

[btn setTitleEdgeInsets:UIEdgeInsetsMake(0.0, -img.size.width, 0.0, 0.0 )];

¡Espero eso ayude!


Acabo de tener un problema bastante similar ... Solo establezca el color del título, supongo que el actual es blanco;)

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];


Cuando usa UIButton , el botón usa un tamaño incorporado para su marco.

Debes establecer el marco:

button.frame = CGRectMake(0, 0, width, height);

O incluso mejor y cómodo:

[button sizeToFit];


La imagen anula el título, debe hacer que la imagen sea una imagen de fondo para mostrar el título.

[button setBackgroundImage:[UIImage imageNamed:@"left_halfscreen_button.png"] forState:UIControlStateNormal];


Tuve un problema similar que el título no se mostró. Olvidé establecer la propiedad de marco:

//set the position of the button button.frame = CGRectMake(100, 170, 100, 30);