Интеграция iOS Quartz UIView - PullRequest
       9

Интеграция iOS Quartz UIView

1 голос
/ 28 февраля 2011

Я пишу приложение для iPhone, и я новичок в iOS SDK. Вот то, что я пытаюсь сделать. Я хочу, чтобы изображение поверх моего экрана вспыхивало (сверху означает все, что у меня на уме). Я мог бы сделать это хорошо, но я хочу, чтобы он был полупрозрачным, поэтому я предполагаю, что мне нужно использовать библиотеки кварца.

Я реализовал эти две функции в классе UIView. Этот код работает нормально, но создает черный фон вокруг изображения. Я хочу только изображение без рамки фона вокруг него. Есть ли функция CGContext, которую я могу использовать для изменения или удаления фона? Разве я не должен вызывать drawRect? Собираетесь ли вы полностью в неправильном направлении? Дайте мне знать, если мне кому-то понадобится дополнительная информация. Спасибо.

// Implements UIView

-(void)drawInContextCGContextRef)context{
CGRect imageRect;
imageRect.origin = CGPointMake(8.0, 8.0);
imageRect.size = CGSizeMake(64.0, 64.0);

CGContextSetAlpha(context, 0.5);
CGContextSetBlendMode(context, kCGBlendModeNormal);
  CGContextDrawImage(context, imageRect, image);
}

-(void)drawRectCGRect)rect
{
[self drawInContext:UIGraphicsGetCurrentContext()];
}

Вот мой код, который вызывает его из контроллера представления.

[quartzUIView drawRect:CGRectMake(50, 50, 150, 250)];
[self.view addSubview:quartzUIView];

1 Ответ

2 голосов
/ 28 февраля 2011

Я думаю, вы слишком усложняете это ... Не нужно переходить на низкий уровень.

Вы можете использовать UIImageView, просто установите его непрозрачность на то, что вам нравится (например, 0.5f), и обязательно установите его непрозрачное свойство равным NO.

...