【问题标题】:How can I round the two corner ONLY?我怎样才能只绕两个角?
【发布时间】:2012-06-13 22:37:18
【问题描述】:

在 iPhone 中,我可以使用

view.layer.cornerRadius = 10;

要圆角,但我不希望四个角是圆的,我只想底部两个圆。我该怎么做?谢谢。

【问题讨论】:

标签: iphone objective-c rounded-corners


【解决方案1】:

一个简单但有点难看的解决方案是使用两个部分重叠的层,以便其中一个“隐藏”顶部圆角。

更新发现这个问题Round two corners in UIView有更合适更好的解决方案。

【讨论】:

    【解决方案2】:

    这是我用于自定义表格视图单元格的解决方案:

    假设一个单元格的高度为 44。

    添加一个高度为66的子视图,命名为roundedCornerContainer

    在子视图中,添加单元格的内容。

    将 IBOutlet 添加到 roundedCornerContainer

    当你配置单元格时:

    #import <QuartzCore/QuartzCore.h>
    
    roundedCornerContainer.layer.cornerRadius = 8;
    roundedCornerContainer.layer.masksToBounds = YES;
    

    不要忘记,您需要将单元格的原型设置为剪辑子视图,以防止 roundedCornerContainer 伸出。

    最终结果是分组的UITableView单元格的左上角和右上角被圆角,而左下角和右下角显示为90度(底部圆角被单元格剪掉。

    如果您需要对底部分组的单元格重复此技巧,只需更改单元格原型中 roundedCornerContainer 的原点,将其原点向上移动 22 个点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2016-04-04
      • 1970-01-01
      相关资源
      最近更新 更多