Xcode/iOS 5 - 仅舍入 UITableView 的底部 2 个角
Posted
技术标签:
【中文标题】Xcode/iOS 5 - 仅舍入 UITableView 的底部 2 个角【英文标题】:Xcode/iOS 5 - Rounding only bottom 2 corners of UITableView 【发布时间】:2012-05-03 02:40:03 【问题描述】:对于我正在开发的应用程序的 UI,我正在尝试为视图控制器创建圆角。我有一个 UINavigationBar 和一个 UITableView。我已经通过使用带有 UIAppearance 内容的自定义背景手动将 UINavigationBar 的顶部 2 个角弄圆了。现在我想把 UITableView 的 bottom 2 角弄圆,这样看起来不错。我现在拥有的代码绕过了所有 4 个角落。有人知道我怎么只能倒数第二吗?
这是我现在在 UITableViewController 的 ViewDidLoad 方法中添加的内容。我已经导入了 QuartzCore。
_tasksTableView.layer.cornerRadius=5;
非常感谢任何可以提供帮助的人!
【问题讨论】:
【参考方案1】:您可以创建新的 CAShapeLayer 并将其路径设置为使用
创建的 bezierPath+ (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect
byRoundingCorners:(UIRectCorner)corners
cornerRadii:(CGSize)cornerRadii
通过将角设置为(UIRectCornerBottomLeft | UIRectCornerBottomRight)
,您的新图层将在两个底角具有圆角。
接下来,通过在表格视图层上设置mask
属性,使用刚刚创建的形状层来掩盖 _tasksTableView.layer。
注意:形状层应该不有任何超层。
注意:在将贝塞尔路径设置为形状层的path
属性之前,需要通过在贝塞尔路径上调用CGPath
将贝塞尔路径转换为CGPathRef。
【讨论】:
以上是关于Xcode/iOS 5 - 仅舍入 UITableView 的底部 2 个角的主要内容,如果未能解决你的问题,请参考以下文章