У меня возникла странная проблема. У меня есть UIButton
с UIButtonTypeCustom
.UIButton с прозрачным фоном изображения без рисования прозрачным
Для этого изображения фона, я использую прозрачное изображение. Проблема в том, что прозрачность фактического изображения не кажется правильной. Странно то, что он на самом деле прозрачный, потому что фон правильно отображается за кнопкой.
Ниже приведен пример того, как выглядит кнопка (слева) и как должна выглядеть кнопка (справа). Я сделал снимок экрана и наложил изображение на фон в Photoshop, и фон правильно отображается внутри изображения, а в фактической кнопке слева - нет. Заметно, что свечение более интенсивное слева UIButton против фактического изображения при вставке на задний план.
Вот изображение Я использую, чтобы показать, что он действительно имеет прозрачность:
Вот мой код:
UIButton *nextButton = [UIButton buttonWithType:UIButtonTypeCustom];
nextButton.backgroundColor = [UIColor clearColor];
nextButton.frame = CGRectMake(0, 0, 30, 30);
[nextButton setBackgroundImage:[[UIImage imageNamed:@"ButtonBackground.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:5] forState:UIControlStateNormal];
Форстате: UIControlStateHighlighted]; [self addSubview: nextButton];
Я использовал то же изображение в другом месте, чтобы рисовать и не имел проблемы с прозрачностью.
UPDATE: Добавление других прозрачных изображений аналогичным образом увеличивает интенсивность альфа. Хотя они прозрачны, они кажутся более темными и, следовательно, менее прозрачными. Опять же, работает отлично в другом месте.
UPDATE 2: Хуже того, я только что создал новый проект с тем же изображением, который вытащил из другого проекта, создал кнопку и не имел проблем с правильной отображением кнопки. Как невероятно раздражает!
вы пробовали установки свойства изображения, а не свойство BackgroundImage? это имеет значение тогда? –
См. Ниже беседы. – runmad
Возможно, вам просто нужна была чистая сборка. У вас, должно быть, был старый образ, который был менее прозрачным и изменил его на новый, и он сохранил ссылку на старый. По какой-то причине XCode кажется цепляющимся к удаленным файлам. – RileyE