首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CornerRadius不设

CornerRadius不设
EN

Stack Overflow用户
提问于 2018-11-01 11:33:02
回答 1查看 82关注 0票数 1

我试图绕过UIView上左下角和右下角。

代码语言:javascript
复制
extension UIView {    
    func roundBottom(raduis: CGFloat){
        let maskPath1 = UIBezierPath(roundedRect: bounds,
                                     byRoundingCorners: [.BottomRight, .BottomLeft],
                                     cornerRadii: CGSize(width: raduis, height: raduis))
        let maskLayer1 = CAShapeLayer()
        maskLayer1.frame = bounds
        maskLayer1.path = maskPath1.CGPath
        layer.mask = maskLayer1
    }
}

打电话给cell.bottomCorner.roundBottom(8)

,但我明白了:

iPhone 5:

iPhone 6s:

iPhone 6s Plus:

EN

回答 1

Stack Overflow用户

发布于 2018-11-01 11:41:41

每次视图更改其大小时,都必须更新掩码,因此,理想情况下,无论何时调用UIView.layoutSubviews,都应该更改它:

代码语言:javascript
复制
override func layoutSubviews() {
   super.layoutSubviews();
   // update mask
}

在扩展助手方法中这样做并不理想。您应该创建一个特定的类来处理大小更改。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53100445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档