繁体   English   中英

CornerRadius不设置

[英]CornerRadius don't set

我正试图在左下角和右下角围绕UIView的角落。 在此输入图像描述 在此输入图像描述

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:

在此输入图像描述

每次视图更改其大小时都必须更新掩码,因此理想情况下,只要UIView.layoutSubviews就应该更改它:

override func layoutSubviews() {
   super.layoutSubviews();
   // update mask
}

在扩展辅助方法中执行此操作并不理想。 您应该创建一个特定的类来处理大小更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM