【发布时间】:2012-06-13 22:37:18
【问题描述】:
在 iPhone 中,我可以使用
view.layer.cornerRadius = 10;
要圆角,但我不希望四个角是圆的,我只想底部两个圆。我该怎么做?谢谢。
【问题讨论】:
-
Round two corners in UIView 的可能重复项
标签: iphone objective-c rounded-corners
在 iPhone 中,我可以使用
view.layer.cornerRadius = 10;
要圆角,但我不希望四个角是圆的,我只想底部两个圆。我该怎么做?谢谢。
【问题讨论】:
标签: iphone objective-c rounded-corners
一个简单但有点难看的解决方案是使用两个部分重叠的层,以便其中一个“隐藏”顶部圆角。
更新发现这个问题Round two corners in UIView有更合适更好的解决方案。
【讨论】:
这是我用于自定义表格视图单元格的解决方案:
假设一个单元格的高度为 44。
添加一个高度为66的子视图,命名为roundedCornerContainer
在子视图中,添加单元格的内容。
将 IBOutlet 添加到 roundedCornerContainer
当你配置单元格时:
#import <QuartzCore/QuartzCore.h>
roundedCornerContainer.layer.cornerRadius = 8;
roundedCornerContainer.layer.masksToBounds = YES;
不要忘记,您需要将单元格的原型设置为剪辑子视图,以防止 roundedCornerContainer 伸出。
最终结果是分组的UITableView单元格的左上角和右上角被圆角,而左下角和右下角显示为90度(底部圆角被单元格剪掉。
如果您需要对底部分组的单元格重复此技巧,只需更改单元格原型中 roundedCornerContainer 的原点,将其原点向上移动 22 个点。
【讨论】: