iOS - UIButton показывает прикосновение к цвету подсветки - PullRequest
1 голос
/ 21 ноября 2011

Хотелось бы узнать, возможно ли изменить цвет свечения, который появляется, когда на UIB-кнопке включена опция showsTouchOnHighlighted. Спасибо

Ответы [ 2 ]

4 голосов
/ 21 ноября 2011

По мне, мы не можем изменить цвет кнопки. Но вы можете изменить его образ. Вы можете установить изображение для всех доступных состояний кнопки.

- (void) setImage: (UIImage *) изображение дляState: (UIControlState) состояние

Здесь вы можете найти более подробную информацию о том же: UIButton Class Reference

Выберите ваше состояние как UIControlStateNormal, UIControlStateSelected или UIControlStateHighlighted согласно вашему требованию.

1 голос
/ 07 сентября 2013

Изображение можно создать с помощью UIColor, поэтому нам нужно добавить что-то подобное:

    [button setBackgroundImage:[self imageWithColor:[UIColor lightGrayColor]] 
forState:UIControlStateHighlighted];

-

- (UIImage *)imageWithColor:(UIColor *)color
{
    CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, [color CGColor]);
    CGContextFillRect(context, rect);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;
}
...