使用Pan Gesture调整UITextView的大小

时间:2017-08-18 21:07:35

标签: ios swift

我创建了一个自定义UIView类。 UIView的子视图为UITextView。 然后我在UIView的右下角添加了一个迷你UITextView作为其子视图。我向迷你UIPanGestureRecognizer添加了UIView,以便它会跟随我的手指,UITextView会根据平移运动调整大小。

下面是我UIPanGestureRecognizer的处理程序,但是我的实现不起作用。识别手势时UITextView消失。请注意,以下函数中的self指的是主UIView

@objc func handleFramePan(recognizer: UIPanGestureRecognizer){
    var originalFrame: CGRect = textView.frame

    if recognizer.state == .began {
        originalFrame = textView.frame

    } else if recognizer.state == .changed {
        let horizontalChange = recognizer.translation(in: self).x
        let verticalChange = recognizer.translation(in: self).y

        let newFrame = CGRect(x: originalFrame.origin.x, y: originalFrame.origin.y, width: originalFrame.width + horizontalChange, height: originalFrame.height + verticalChange)

        textView.frame = newFrame
    }
}

0 个答案:

没有答案