Swift_贝塞尔曲线(自定义视图)

贝塞尔曲线.png

一, 创建自定义视图

    func createLayerWithView(view : UIView){
        let viewWidth=CGRectGetWidth(view.frame);
        let viewHeight=CGRectGetHeight(view.frame);
        let point1 = CGPointMake(0,10);
        let point2 = CGPointMake(viewWidth-35,10);
        let point3 = CGPointMake(viewWidth-25, 0);
        let point4 = CGPointMake(viewWidth-15,10);
        let point5 = CGPointMake(viewWidth,10);
        let point6 = CGPointMake(viewWidth , viewHeight);
        let point7 = CGPointMake(0, viewHeight);
        
        let bezierPath = UIBezierPath()
        bezierPath.moveToPoint(point1)
        bezierPath.addLineToPoint(point2)
        bezierPath.addLineToPoint(point3)
        bezierPath.addLineToPoint(point4)
        bezierPath.addLineToPoint(point5)
        bezierPath.addLineToPoint(point6)
        bezierPath.addLineToPoint(point7)
        bezierPath.closePath()
        
        let layer = CAShapeLayer()
        layer.path = bezierPath.CGPath
        view.layer.mask = layer
    }

二, 给它位置大小

    var customView : UIView!
     self.customView = UIView.init(frame: CGRectMake(WIDTH-(WIDTH/4+30),200, WIDTH/4+20,150))
        customView.backgroundColor = UIColor.blackColor()
        customView.alpha = 0.8
        self.view.addSubview(customView)
        self.createLayerWithView(self.customView)

三, 也可以在此设置动画

  UIView.animateWithDuration(0.8, animations: {
                
            })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 翻译自“Collection View Programming Guide for iOS” 0 关于iOS集合视...
    lakerszhy阅读 3,931评论 1 22
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,926评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 北京最近天气真是太温和了,最高温度是西安的最低温度。早上7点多出门的时候,还会感觉有点冷。 大华煎饼 前两天就筹划...
    木梓楠阅读 402评论 0 0
  • 今天已经是来沁阳丹河电厂的第七天了,回想这几天的地工作,无外乎走流程找人,耐心等待出结果。原计划三四天的工作,没想...
    感想心得阅读 230评论 0 0