Как изменить альфа-канал фонового цвета

у меня есть UITextField что есть rgb уже применяется к его цвету фона. Я пытаюсь установить Альфа цвета фона. Как я могу установить Альфа без повторного включения целого rgb цвета в Objective-c?

3 ответов


вы ищете что-то вроде этого:

CGFloat newAlpha = 0.7;
CGColorRef color = CGColorCreateCopyWithAlpha(self.yourTextField.layer.backgroundColor, newAlpha);
[self.yourTextField.layer setBackgroundColor:color];

или если вы уже знаете цвет и просто хотите текущую Альфа:

CGFloat alpha = CGColorGetAlpha(self.yourTextField.layer.backgroundColor); //Get current alpha       
self.yourTextField.layer.backgroundColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:alpha].CGColor;

вы можете использовать:

UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];

в Swift 3 или 4:

let color: UIColor = UIColor.black.withAlphaComponent(0.7)