【问题标题】:Xcode/iOS 5 - Rounding only bottom 2 corners of UITableViewXcode/iOS 5 - 仅舍入 UITableView 的底部 2 个角
【发布时间】:2012-05-03 02:40:03
【问题描述】:

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

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

    _tasksTableView.layer.cornerRadius=5;

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

【问题讨论】:

    标签: uitableview ios5 rounded-corners


    【解决方案1】:

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

    创建的 bezierPath
    + (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect 
                              byRoundingCorners:(UIRectCorner)corners 
                                    cornerRadii:(CGSize)cornerRadii
    

    通过将角设置为(UIRectCornerBottomLeft | UIRectCornerBottomRight),您的新图层将在两个底角具有圆角。

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


    注意:形状层应该有任何超层。

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

    【讨论】:

      猜你喜欢
      • 2018-05-02
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      • 2019-06-16
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      相关资源
      最近更新 更多