Как сохранить прозрачность изображения при использовании colorWithPatternImage: - PullRequest
17 голосов
/ 18 ноября 2010

У меня есть изображение, подготовленное с прозрачностью, например:

alt text

С двумя UIviews я настраиваю цвета фона следующим образом:

self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];
self.dashedView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"red_square.png"]];

Я ожидаю, что красный квадрат будет повторяться над UIView с сохранением прозрачности, но он был залит таким сплошным цветом, как этот:

alt text

Я не понимаю, почему.Есть ли простой способ нарисовать мозаичное изображение с прозрачностью?Или мне нужно взглянуть на рисунок основных графических шаблонов?

Ответы [ 3 ]

25 голосов
/ 18 ноября 2010

Шаблонные изображения должны сохранять прозрачность очень хорошо.

Попробуйте [self.dashedView setOpaque:NO]

5 голосов
/ 18 мая 2012

все, что вам нужно сделать, это установить непрозрачный на NO после установки colorWithPatternImage.

self.dashedView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"red_square.png"]];
self.dashedView.opaque = NO;
3 голосов
/ 17 января 2012

Яр, спасибо за отзыв.

Я обнаружил, что это происходит только в iOS 4.3.x, но не в iOS 5.0.x. Так что на 4.3.x мне пришлось сделать то, что Yar ID и установить непрозрачный на NO, затем установить фоновое изображение, а затем установить YES.

UIButton* cancelButton = [UIButton buttonWithType:UIButtonTypeCustom];
cancelButton.opaque = YES; // fix for strange issue in 4.x, need to set YES, set bg color image, then set back to NO
cancelButton.backgroundColor = [UIColor colorWithPatternImage: cancelImage];
cancelButton.opaque = NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...