如何在iOS中的图表中显示小图像

时间:2012-07-05 12:25:07

标签: iphone ios image uiview

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

我喜欢如下图所示

enter image description here

但我希望得到如下

enter image description here

有可能吗?请帮帮我。

2 个答案:

答案 0 :(得分:2)

假设椭圆是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);

}

答案 1 :(得分:1)

你可以试试这个:

#import <QuartzCore/QuartzCore.h>

并在您的代码中,制作圆圈后,添加图片并设置以下内容: myImageView.layer.cornerRadius = x;

myImageView.layer.masksToBounds = TRUE;

这使您可以在图像上使用圆角。如果你计算半径以匹配你的圆圈,你应该得到所需的外观。

希望这有帮助。

干杯,

乔治