加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 如何在Swift中弯曲UIView控制器的顶部

发布时间:2020-12-14 18:10:12 所属栏目:百科 来源:网络整理
导读:我试图用 swift来计算出视图控制器顶部的曲线. 谁能帮我.我希望它像这张照片中显示的那样弯曲. 解决方法 你可以用一些bezier曲线绘制背景,这不应该太难.如果您想要重新创建类似于该示例底部的内容,您尤其希望这样做. 这是您可以使用的自定义视图.它只是覆盖
我试图用 swift来计算出视图控制器顶部的曲线.

enter image description here

谁能帮我.我希望它像这张照片中显示的那样弯曲.

解决方法

你可以用一些bezier曲线绘制背景,这不应该太难.如果您想要重新创建类似于该示例底部的内容,您尤其希望这样做.

这是您可以使用的自定义视图.它只是覆盖了绘图,并使其背景为具有圆顶的贝塞尔曲线路径

您可以使用我插入的静态值调整高度和曲线.

class CurvedView: UIView {
    override func drawRect(rect: CGRect) {

        let y:CGFloat = 20
        let curveTo:CGFloat = 0

        let myBezier = UIBezierPath()
        myBezier.moveToPoint(CGPoint(x: 0,y: y))
        myBezier.addQuadCurveToPoint(CGPoint(x: rect.width,y: y),controlPoint: CGPoint(x: rect.width / 2,y: curveTo))
        myBezier.addLineToPoint(CGPoint(x: rect.width,y: rect.height))
        myBezier.addLineToPoint(CGPoint(x: 0,y: rect.height))
        myBezier.closePath()
        let context = UIGraphicsGetCurrentContext()
        CGContextSetLineWidth(context,4.0)
        UIColor.whiteColor().setFill()
        myBezier.fill()
    }
}

另一种方法是制作一个比屏幕大得多的白色视图……我猜的是屏幕宽度的3倍.然后只需将拐角半径设置为其宽度的一半即可.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读