小编Ski*_*mik的帖子

像Snapchat [SWIFT 3]同时捏,平移和旋转文本

我正在尝试制作一个像Snapchat一样可以移动的TextView.我做了类似的东西,虽然当你尝试旋转时进行缩放时,它往往会无限地水平拉伸,拖动有时可能会有点儿.

我有这个:

func panGesture(pan: UIPanGestureRecognizer) {
    print("Being Dragged")
    if pan.state == .began {
        textViewOrigin = pan.location(in: textView)
    }else {
        let location = pan.location(in: view) // get pan location
        textView.frame.origin = CGPoint(x: location.x - textViewOrigin.x, y: location.y - textViewOrigin.y)
    }
}
func scaleGesture(_ gesture: UIPinchGestureRecognizer){
    print("Being Scaled")
    switch gesture.state{
    case.began:
        identity = textView.transform
    case.changed,.ended:
        textView.transform = identity.scaledBy(x: gesture.scale, y: gesture.scale)
    default:
        break
    }
}
func rotationGesture(sender: UIRotationGestureRecognizer){
    print("Being Rotated")
    textView.transform = textView.transform.rotated(by: sender.rotation)
    sender.rotation = 0
}
Run Code Online (Sandbox Code Playgroud)

而我正在努力实现这一目标: 在此输入图像描述

如果有人可以帮助改变或重写我的代码,这将是伟大的,提前感谢!

text gesture ios snapchat swift

7
推荐指数
2
解决办法
5025
查看次数

拖动 UIButton 而不将其移至中心 [Swift 3]

所以我发现了如何使用 UIPanGestureRecognizer 使按钮可拖动。但我知道如何做到这一点的唯一方法是通过中心存储和拖动按钮。这样做的问题是,如果您尝试从角落拖动按钮,按钮会立即从角落移动到中心。我正在寻找一种解决方案,它可以让我的手指在移动时保持在选定的位置上,而不会立即锁定到中心。

我目前使用的代码:

func buttonDrag(pan: UIPanGestureRecognizer) {
    print("Being Dragged")
    if pan.state == .began {
        print("panIF")
        buttonCenter = button.center // store old button center
    }else {
        print("panELSE")
        let location = pan.location(in: view) // get pan location
        button.center = location // set button to where finger is
    }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢。

drag ios uipangesturerecognizer swift3

3
推荐指数
1
解决办法
1311
查看次数

标签 统计

ios ×2

drag ×1

gesture ×1

snapchat ×1

swift ×1

swift3 ×1

text ×1

uipangesturerecognizer ×1