0

对于我正在开发的应用程序的 UI,我正在尝试为视图控制器创建圆角。我有一个 UINavigationBar 和一个 UITableView。我已经通过使用带有 UIAppearance 内容的自定义背景手动将 UINavigationBar 的顶部 2 个角弄圆了。现在我想把 UITableView 的底部 2 个角弄圆,这样看起来不错。我现在拥有的代码绕过了所有 4 个角落。有谁知道我怎么只能圆底2?

这是我现在在 UITableViewController 的 ViewDidLoad 方法中添加的内容。我已经导入了 QuartzCore。

    _tasksTableView.layer.cornerRadius=5;

非常感谢任何可以提供帮助的人!

4

1 回答 1

2

您可以创建新的 CAShapeLayer 并将其路径设置为使用创建的 bezierPath

+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect 
                          byRoundingCorners:(UIRectCorner)corners 
                                cornerRadii:(CGSize)cornerRadii

将角设置为(UIRectCornerBottomLeft | UIRectCornerBottomRight)新图层的字节将在两个底角具有圆角。

mask接下来,通过在表视图层上设置属性,使用刚刚创建的形状层屏蔽 _tasksTableView.layer 。


注意:形状层不应任何超层。

CGPath注意:在将贝塞尔路径设置为path形状图层的属性之前,需要通过调用贝塞尔路径将贝塞尔路径转换为 ​​CGPathRef 。

于 2012-05-09T11:14:51.887 回答