0

嗨,我想在圆圈中而不是在矩形中显示图像,所有这些都将显示在表格视图中 在 tableview 单元格中显示类似的图像

4

5 回答 5

8

您必须在#import <QuartzCore/QuartzCore.h>imageView 中添加一个cornerRadius, [yourImageView.layer setCornerRadius:yourImageView.frame.size.width/2]也许您必须添加[yourImageView setClipsToBounds:YES],但我不确定这一点。

于 2012-08-29T08:10:27.977 回答
0

一种方法是创建 NSView 的子类。

然后在你覆盖 drawrect: 方法来做你的自定义绘图。您首先在定义的框架中绘制图像。之后,您可以在同一帧中绘制一个中间有一个透明圆圈的矩形图像,或者使用 NSBezierPath 构造一个类似的矩形。

这个矩形的颜色,除了中间的透明圆圈外,与封闭视图的背景颜色相同。

于 2012-08-29T08:18:50.103 回答
0

或者你可以使用-drawRect方法:

- (void)drawRect:(CGRect)rect
{
    CGRect aRectangle = CGRectMake(0.0f, 0.0f, 40.0f, 40.0f); //size of image frame
    UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:aRectangle];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSaveGState(context);
    UIColor *imageColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourImage.png"]];
    [imageColor setFill];
    [path fill];
}

首先,您需要创建自己的继承自 UIView 的类(例如)并将此代码放入您的drawRect.

于 2012-08-29T08:21:47.397 回答
0

将图像创建为 PNG 并添加透明层。选择圆圈周围的区域并使其透明。然后在 UIImageView 中加载图像时,它会显示为一个圆圈。

例如:

具有两行和圆形图像的表格视图

于 2012-08-29T08:23:23.847 回答
0

另一种方法是使用CICircularWrap。它将图像包裹在一个透明的圆圈周围。

例如像这样:

在此处输入图像描述

然后你可以使用UIImageView 的图层 setCornerRadius来完善圆形图像

于 2012-08-29T09:30:23.263 回答