gpt4 book ai didi

ios - 设置圆角半径隐藏 UIView

转载 作者:搜寻专家 更新时间:2023-11-01 06:16:28 24 4
gpt4 key购买 nike

我创建了这个扩展来快速向任何 UIView 添加圆角:

extension UIView {
func setCorners(corners: UIRectCorner, radius: CGFloat) {
print(self.frame) //-> (359.0, 0.0, 306.0, 37.0)
let maskPath = UIBezierPath(roundedRect: self.frame, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: 0.0))
let maskLayer = CAShapeLayer()
maskLayer.path = maskPath.cgPath
self.layer.mask = maskLayer
print(self.frame) //-> (359.0, 0.0, 306.0, 37.0)
}
}

我用来创建 View 和圆角的代码:

let view = UIView(frame: CGRect(origin: CGPoint.zero, size: CGSize(width: 100, height: 40))) //I reposition the view later
view.setCorners(corners: [.bottomLeft, .bottomRight], radius: 8)

当注释掉 setCorners(corners:radius:) 时, View 出现,否则保持隐藏状态。

知道为什么会这样吗?

最佳答案

看来,您需要在 UIBezierPath(roundedRect: self.frame, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: 0.0)) 中使用 self.bounds 而不是 self.frame

关于ios - 设置圆角半径隐藏 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43765431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com