gpt4 book ai didi

ios - 在 Swift 2.3 中使用 Bezier Path 和 Storyboarding 绘制一个只有两个圆角的矩形

转载 作者:行者123 更新时间:2023-11-28 15:49:00 26 4
gpt4 key购买 nike

<分区>

我有一个包含 5 个单元格的 Table View,如下所述。目的是让 topRoundedBorderCell 带有白色填充,只有 TopLeftTopRight 边框是圆形的,然后可以灵活地添加尽可能多的单元格根据需要使用白色填充和方角来提供尽可能多的选项,最后,bottomRoundedCornerCell 将仅使用 BottomLeftBottomRight 进行白色填充> 圆角。创建一个带有圆角的长白色框的错觉,适合属于一组的所有选项。如下所示。

Storyboard单元分解:

enter image description here

当我运行应用时:

enter image description here

但是,正如您在第二张图片中看到的那样,只有 TopLeft 边框是圆形的,其余的仍然是方形的。

我在 2 个类型为 UIView 的独立类中使用贝塞尔路径 roundedRect 方法,我通过我的 将其分配给相应的 views > Storyboard

顶部圆形边框 View :

class TopRectangleRoundedCornersView: UIView {

override func awakeFromNib() {

let path = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [UIRectCorner.TopLeft , UIRectCorner.TopRight], cornerRadii: CGSize(width:10.0, height:10.0))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.mask = mask
self.layer.backgroundColor = UIColor.whiteColor().CGColor //white fill
}

}

底部圆角 View :

class BottomRectangleRoundedCornersView: UIView {

override func awakeFromNib() {
let path = UIBezierPath(roundedRect: self.bounds,
byRoundingCorners: [UIRectCorner.BottomLeft, UIRectCorner.BottomRight], cornerRadii: CGSize(width: 10.0, height: 10.0))
let mask = CAShapeLayer()
mask.path = path.CGPath
self.layer.mask = mask
self.layer.backgroundColor = UIColor.whiteColor().CGColor //white fill
}
}

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