如何创建像Facebook消息一样的循环uiview

时间:2013-08-29 20:29:21

标签: ios uiview

如何创建像Facebook消息一样的循环UIView。

它只是一个带圆角的矩形还是一个中心有圆形图像的矩形?

这是图片视图: enter image description here 这是自定义单元类的initWithStyle代码:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code

        [self.userImage setBackgroundColor:[UIColor orangeColor]];
        [self.userImage.layer setCornerRadius:32.0f];
    }
    return self;
}

但我仍然得到一个矩形的图像视图。

3 个答案:

答案 0 :(得分:7)

您必须修改视图图层上的cornerRadius属性。为了得到一个圆,你应该指定一个角半径等于视图高度/宽度的一半。这是一个基本的例子:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100.0f, 100.0f, 120.0f, 120.0f)];
[view setBackgroundColor:[UIColor orangeColor]];
[view.layer setCornerRadius:60.0f];
[self.view addSubview:view];

答案 1 :(得分:0)

只需像这样使用clipToBound:

[cell.yourImage.layer setBorderWidth:2.0f];
[cell.yourImage.layer setBorderColor:[[UIColor blackColor] CGColor]];
[cell.yourImage.layer setShadowRadius:5.0];
[cell.yourImage.layer setShadowOpacity:0.5];
[cell.yourImage.layer setShadowOffset:CGSizeMake(1.0, 0.0)];
[cell.yourImage.layer setShadowColor:[[UIColor blackColor] CGColor]];
[cell.yourImage.layer setCornerRadius:10.0];
cell.yourImage.clipsToBounds = YES;

希望有所帮助

答案 2 :(得分:0)

我使用名称为" viewName"的UIView,但它可以与UIImage一起使用。

    //Define background color
    self.viewName setBackgroundColor:[UIColor colorWithRed:(84.0 / 255.0) green:(198.0 / 255.0) blue:(89.0 / 255.0) alpha:1]];

    //Create circular view
    self.viewName.layer.cornerRadius = cell.statusColor.frame.size.width / 2;
    self.viewName.clipsToBounds = YES;