首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转UIBezierPath矩形

旋转UIBezierPath矩形
EN

Stack Overflow用户
提问于 2018-05-29 20:47:27
回答 1查看 575关注 0票数 0

我想旋转我的椭圆,但我没能做到。

我试着做一个CGAffineTransform,但是我的矩形消失了,我也试着做一个CATransformRotate或者类似这样的笔记,但是没能正确使用它

代码语言:javascript
复制
let ovalPath = UIBezierPath(ovalIn: CGRect(x: 100, y: 100, width: 10, height: 15))
    UIColor.gray.setFill()
    ovalPath.fill()

    let rotation = CGAffineTransform(rotationAngle: CGFloat(M_PI / 3.0))
    ovalPath.apply(rotation)

    let note = CAShapeLayer()
    note.path = ovalPath.cgPath
    note.fillColor = UIColor.black.cgColor

    view.layer.addSublayer(note)
EN

回答 1

Stack Overflow用户

发布于 2018-05-29 21:41:51

由于cgrect中的x/y偏移量(它围绕(0,0)旋转),您正在将路径旋转出屏幕。尝试此操作并稍微旋转ccw,以查看旋转行为是否正常工作。如果希望图层位于坐标100,100处,可以使用另一个变换来移动它:

代码语言:javascript
复制
let ovalPath = UIBezierPath(ovalIn: CGRect(x: 0, y: 0, width: 10, height: 15))
        UIColor.gray.setFill()
        ovalPath.fill()

        let rotation = CGAffineTransform(rotationAngle: -CGFloat(M_PI / 3.0))
        ovalPath.apply(rotation)

        let note = CAShapeLayer()
        note.path = ovalPath.cgPath
        note.fillColor = UIColor.black.cgColor

        view.layer.addSublayer(note)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50584817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档