Как нарисовать пользовательскую кнопку с фоном, имеющим альфа-значение, но передний план нормальный - PullRequest
1 голос
/ 17 января 2011

Я пытаюсь создать пользовательскую кнопку с полупрозрачным фоном и непрозрачным передним планом.Я использую следующий код для создания фонового изображения для пользовательской кнопки:

UIImage *buttonBg = [UIImage imageNamed:@"ButtonBG_35"];
buttonBg = [buttonBg stretchableImageWithLeftCapWidth:14.0 topCapHeight:0];

CGSize size = self.button1.bounds.size;

UIGraphicsBeginImageContext( size );

[buttonBg drawInRect:CGRectMake( 0, 0, size.width, size.height ) blendMode:kCGBlendModeNormal alpha:0.33];
UIImage *button1BgImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

[self.button1 setBackgroundImage:button1BgImage forState:UIControlStateNormal];

Это работает так, как я ожидаю при размещении текста на кнопке.Однако, если я помещу изображение на передний план кнопки, это изображение также будет полупрозрачным.Как сделать так, чтобы изображение на переднем плане не было прозрачным.

Я пытался нарисовать изображение в кнопке, используя альфа: 1,0, но ничего не получилось.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 17 января 2011

Не прямое решение вашей проблемы, а скорее обходной путь: удерживайте кнопку «пустой» и добавляйте к ней изображения в качестве подпредставлений - сохраняя при этом альфа-канал кнопки на уровне 1,0 (или как вам угодно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...