ios - 快速转换使用 uibezierpath 创建的线

标签 ios swift transform uibezierpath

在我的应用程序中,我设法使用 uibezierpath 画一条线并将其添加到 View 的子层中,在我设法对此 View 应用一些转换后,借助 UIRotationGestureRecognizer 和 UIPinchGestureRecognizer 旋转 View 并更改大小。 问题是,当我使用 UIPinchGestureRecognizer 更改 View 的大小时,线条的粗细也发生了变化,并且我无法保持相同的粗细。

实际上,我尝试做的是绘制一个箭头并能够移动它、旋转它并调整它的大小。 我设法做到了这一点,但是当我捏住 View 时,箭头的粗细发生了变化:)

有可能避免这种情况吗?

谢谢:)

最佳答案

swift 4:

let path = UIBezierPath() 
    path.move(to: CGPoint(x: 100, y: 100))
    path.addLine(to: CGPoint(x: 150, y: 150))
    path.stroke()

let traingle = CAShapeLayer()
    traingle.path = path.cgPath
    traingle.fillColor = UIColor.gray.cgColor
    traingle.setAffineTransform(CGAffineTransform(rotationAngle: .pi))
 self.view.layer.addSublayer(triangle)

关于ios - 快速转换使用 uibezierpath 创建的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40001037/

相关文章:

javascript - 如何在javascript中获取样式变换旋转值?

ios - 尝试使用协议(protocol)使 View 可拖动时应用程序崩溃

iphone - 如何使用 UIBezierPath 裁剪图像?

objective-c - 强制 Objective-C 方法返回 `id` 和 inout NSError 以桥接到可选返回

xslt - 与另一个模板一起使用时身份转换奇怪的行为

python - 指数衰减的 Sympy 傅里叶变换

ios - 为什么我在尝试扫描 QR 码时在 Expo 中收到此错误?

ios - UITabbar ios背景图

ios - 具有自定义流布局的 CollectionView 不会触发 didSelectItemAt

ios - 将具有透视变换的 UIView 转换为 UIImage