2013-08-08 3 views
2

Я создаю кнопку с изображением слева и текст в центре. Это работает, но цвет фона красного цвета не покрывает всю кнопку.uibutton изображение слева и текст по центру

self.buyButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [self.buyButton.titleLabel setBackgroundColor:[UIColor buttonRed]]; 
    UIImage *image = [UIImage imageNamed:@"cart.png"]; 
    [self.buyButton setImage:image forState:UIControlStateNormal]; 
    self.buyButton.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0); 
    [self.buyButton setTitle:@"Buy" forState:UIControlStateNormal]; 
    self.buyButton.titleEdgeInsets = UIEdgeInsetsMake(0, 20, 0, 0); 
    self.buyButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 

[1] http://s23.postimg.org/g8hxmihyv/Screen_Shot_2013_08_07_at_5_45_40_PM.png "снимок"

Если я установить кнопку весь красный, это выглядит следующим образом. [1] http://s21.postimg.org/xdwrziphv/Screen_Shot_2013_08_07_at_5_50_15_PM.png "snapshot2"

ответ

3

Это потому, что вы только устанавливаете цвет фона в красный для titleLabel. Попробуйте установить цвет фона самой кнопки при использовании пользовательской кнопки и изменении радиуса угла слоя кнопки (#import <QuartzCore/QuartzCore.h>). например:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setBackgroundColor:[UIColor redColor]]; 
[button.layer setCornerRadius:5.0f]; 

Кроме того, вы можете нужно изменить цвет titleLabel к clearColor.

+0

Я сделал, и это выглядит странно. См. Выше. – user1302602

+0

@ user1302602 Извините, я редактировал свой пост. –

+0

[self.buyButton.titleLabel setBackgroundColor: [UIColor clearColor]]; [self.buyButton комплектBackgroundColor: [UIColor красныйColor]]; – user1302602

Смежные вопросы