2009-11-18 43 views
5

我有一个UITableViewCell,我想使用图像属性来填充图像。当它是第一个分组的UITableView时,我希望它具有标准的圆角。如何恢复充满图像的UITableViewCell的圆角?

不幸的是,图像也填充了圆角。有没有什么办法可以保留它们而不使用透明图像?

回答

-1

我只是让我的非透明图像有圆角。通过屏幕截图获取圆角的尺寸,然后将其用作图像的基础。

2


您可以通过使用其图层属性以编程方式将任何视图的角四舍五入。如果玩弄层的cornerRadius属性,你应该能够实现你想要的结果。

#include <QuartzCore/QuartzCore.h> 

UIImage *myImage = [UIImage imageNamed:@"image.png"]; 
UIImageView *imgView = [[UIImageView alloc] initWithImage:myImage]; 
imgView.layer.cornerRadius = 10.0; 

如果你只是想圆的一些角落,你应该看看UIBezierPath API和使用路径来掩盖你的形象。这不是测试,但它应该指向你在正确的方向:

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:cell.bounds 
              byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight 
               cornerRadii:CGSizeMake(10.0, 10.0)]; 

CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
maskLayer.frame = imageView.frame; 
maskLayer.path = path; 
imageView.layer.mask = maskLayer; 
+4

我想圆角仅在右上角和左边的角落,第一个单元格,所以这没有太大的帮助..感谢反正 – johnl 2009-11-26 15:40:48

+0

@johnl我知道现在这已经很老了,但我已经更新了我的答案,只包含了一个只围绕特定角落的方法 – imnk 2014-11-20 13:17:01