У меня есть подкласс UIView, который содержит UIImageView. Я хочу, чтобы изображение появилось круглым, так что я сделал это:UIImage не обрезается обтравочный контур
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSaveGState(ctx);
CGPathRef clippath = [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:17].CGPath;
CGContextAddPath(ctx, clippath);
CGContextClip(ctx);
[self.imageView.image drawInRect:rect];
CGContextRestoreGState(ctx);
}
Однако изображения не являются круглыми, они являются регулярными прямоугольниками. В чем проблема?
является вашим UIImageView подвид вашего UIView? Если это так, то будет показано над чертежом функции drawRect, и поэтому вы увидите UIImageView, а не UIView с пользовательским графическим изображением. – Putz1103
My UIImageView - это подкласс AsyncImageView UIImageView. Мой UIView имеет xib, и в этом xib добавлен AsyncImageView и подключен к выходу под названием imageView. Отвечает ли это на ваш вопрос? – damjandd
Да. Если ваш imageView находится поверх вашего UIView (как подзаголовок), вы никогда не увидите рисунок. У вас есть пара вариантов, я отправлю в ответ. – Putz1103