UIView上的圆角不精确

时间:2013-01-16 13:14:42

标签: iphone ios objective-c uiview

我在UIView上有圆角的奇怪问题。 正如您在屏幕截图中看到的那样,黑色角落并不精确,这意味着可以看到底层视图的一些像素(即角落中的白色像素用黄色箭头突出显示)。

我已将角半径设置为:

contentView.layer.cornerRadius = 5.0f;
contentView.layer.masksToBounds = YES;

contentView是一个UIView对象,它包含一个UIImageView作为子视图(显示当前的Google图像)。此外,contentView作为子视图添加到屏幕截图中显示的主视图中。

我已经尝试了几项没有令人满意的结果,包括:

  • 将角半径直接添加到主视图,而不是内容 图
  • 增加/减少边框大小和圆角半径的值
  • 将所有提到的视图的背景颜色更改为黑色,白色和透明(目前很清楚)

感谢您的帮助。谢谢!

截图

  • 1
  • 2

2 个答案:

答案 0 :(得分:1)

请在代码中尝试此操作:

contentView.layer.borderWidth=1;
contentView.layer.borderColor=[UIColor blackColor].CGColor;
contentView.layer.cornerRadius=5;

答案 1 :(得分:0)

我已经尝试了以下适用于我的代码

UIView *vi = [[[UIView alloc] initWithFrame:frame] autorelease];
vi.backgroundColor = [UIColor clearColor];
[self addSubview:vi];

UIImageView *imgv = [[[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, frame.size.width, frame.size.height)] autorelease];
imgv.layer.cornerRadius = 4.0;
imgv.layer.borderColor = [UIColor whiteColor].CGColor;
imgv.clipsToBounds = YES;
imgv.image = [UIImage imageNamed:@"xxxxxx.png"];
[vi addSubview:imgv];

希望它对你有所帮助。