Как сделать рисование в полностью прозрачном виде видимым - PullRequest
2 голосов
/ 13 марта 2012

Я использую Кварц для рисования, как в пользовательском UIView сказать «Paint»

У меня есть вид контроллера "viewC"

Я сделал

[self.view addSubView:somePaintInstance]; in my viewC at some event

Теперь, когда я рисую или рисую, фон по умолчанию для Paint - "черный".

Я хочу сделать полностью прозрачную рисование поверх моего вида viewC

Так я и сделал

somePaintInstance.alpha=0.5; (before adding it as subview) 

Но это также делает мой рисунок / рисунок прозрачным с помощью фона краски, поэтому, если я сделаю его полностью прозрачным (альфа = 0,0), я не смогу увидеть сам рисунок с видом краски

Что я пробовал и не работает:

  • somePaintInstance.setbackgroundcolor
  • somePaintInstance.opaque

Другие ответы в сети также НЕ являются конкретными для такого рода реализации

Я посмотрел ответ Роба здесь: Как добавить прозрачную градиентную маску в контекст

Но все еще не ясно, как мне реализовать именно то, что я хочу?

Дайте мне знать другие детали, если требуется

С уважением,

Ответы [ 2 ]

2 голосов
/ 10 октября 2012

Я пытался установить фон с альфа-значением 0 или работать с StartTransparentLayer.Ничего из этого не сработало.То, что работало для меня, состояло в том, чтобы установить непрозрачное свойство views в NO.В моем инициализаторе я поставил следующий код:

-(id)initWithFrame:(CGRect)frame {
  if (self = [super initWithFrame:frame]) {
        // set default values
        self.colorNormal = [UIHelper ricolaYellow];
        self.colorActice = [UIColor colorWithHexString:CIRCLE_COLOR_ACTIVE];
        self.capacities = nil;
        self.opaque = NO;
    }
    return self;
}
0 голосов
/ 13 марта 2012

Эта строка должна работать,

somePaintInstance.backGroundColor = [UIColor clearColor];
...