我创建了myView,它是UIView的子类,并在myView上绘制了一个圆圈。现在我想在圆圈内而不是圆圈外显示小图像。但是我有一个内圈和一个外圈,这意味着图像显示在整个myVIew上。

我得到如下图所示



但我想得到如下



有没有可能?请帮我。

最佳答案

假设椭圆为UIBezierPath,则可以使用:

UIImage *patternImage = [UIImage imageNamed:@"thePattern.png"];
UIColor *fillPattern = [UIColor colorWithPatternImage:patternImage];
[fillPattern setFill];
[thePath fill];


编辑

使用图案图像填充由CGContextAddEllipseInRect创建的椭圆:

- (void)drawRect:(CGRect)rect {

    CGImageRef patternImage = [UIImage imageNamed:@"file"].CGImage;
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextAddEllipseInRect(context, CGRectMake(100, 100, 200, 200));
    CGContextClip(context);
    CGContextDrawTiledImage(context, CGRectMake(20, 20, 48, 36),patternImage);

}

关于iphone - 如何在iOS的图表中显示小图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11344291/

10-09 16:26