Ios 旧设备上特定于错误的圆角?
我在UIView中添加了圆角函数扩展 它在像iPhoneXR这样的新设备上工作得非常好,但在像iPhone8这样的16:9比例的旧设备上,iPhone8加上它就在左边Ios 旧设备上特定于错误的圆角?,ios,swift,xcode,rounded-corners,Ios,Swift,Xcode,Rounded Corners,我在UIView中添加了圆角函数扩展 它在像iPhoneXR这样的新设备上工作得非常好,但在像iPhone8这样的16:9比例的旧设备上,iPhone8加上它就在左边 extension UIView{ func roundCorners(_ corners: UIRectCorner, radius: CGFloat) { let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corne
extension UIView{
func roundCorners(_ corners: UIRectCorner, radius: CGFloat) {
let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.cgPath
self.layer.mask = mask
}
}
当我实现这个函数时。在UIViewController中,我调用viewDidLayoutSubviews中的函数
但当我在课堂上用另一种类型实现时,我找不到解决方案,
我想要一种方法来迫使你永远走到拐角处。
如果希望视图始终具有cornerradius,可以使用以下代码段:
@IBDesignable extension UIView{
@IBInspectable var cornerRadius : CGFloat{
get{
return self.layer.cornerRadius
}set{
layer.cornerRadius = newValue
clipsToBounds = true
}
}
}
您可以在InterfaceBuilder或代码中设置半径
@IBDesignable extension UIView{
@IBInspectable var cornerRadius : CGFloat{
get{
return self.layer.cornerRadius
}set{
layer.cornerRadius = newValue
clipsToBounds = true
}
}
}