如何在tableview单元格中设置视图内的视图的圆角半径?

时间:2018-03-06 09:25:38

标签: ios objective-c uiview

我是iOS的新手,我坚持这个问题。我正在创建一个像UITableviewcell

这样的自定义单元格

我在主视图中拍摄了一个矩形视图(左侧)。以下是设置两个视图的圆角半径的代码。

_viewBG.layer.cornerRadius = 10.0;
_viewBG.layer.shadowOpacity = 0.5;
_viewBG.layer.shadowOffset = CGSizeMake(-1, 1);
_viewBG.layer.borderWidth = 0.5;
_viewBG.layer.borderColor = [[UIColor lightGrayColor] CGColor];

UIBezierPath *maskPath = [UIBezierPath
                          bezierPathWithRoundedRect:self.viewLeft.bounds
                          byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerBottomLeft)
                          cornerRadii:CGSizeMake(10, 10)
                          ];

CAShapeLayer *maskLayer = [CAShapeLayer layer];

maskLayer.frame = self.bounds;
maskLayer.path = maskPath.CGPath;

self.viewLeft.layer.mask = maskLayer;

但我得到了这个输出..

所以我想根据主视图设置红色uiview的角半径......任何想法都会受到赞赏。你能帮忙吗?

2 个答案:

答案 0 :(得分:3)

步骤:

  1. 制作一个包含左视图和右视图的主包装器视图。将其背景颜色设置为清晰颜色..

  2. 在主包装器视图中添加另一个视图,并根据需要为其提供角半径,并将蒙版绑定为true

  3. 在第2步中制作的子视图中,将属性剪辑的红色和另一个视图添加到边界为真

  4. 现在在主包装视图中将阴影和蒙版赋予绑定设置错误

答案 1 :(得分:0)

只需设置clipToBounds = true单元格。

在您的情况下,它将是_viewBG.clipToBounds = true

要使阴影可见,请使用_viewBG.layer.maskToBounds = false