可拖动的 UITextView 没有响应

Posted

技术标签:

【中文标题】可拖动的 UITextView 没有响应【英文标题】:Draggable UITextView Not Responding 【发布时间】:2015-11-08 15:10:12 【问题描述】:

我已经创建了一个需要可拖动的自定义 UITextView,这是我使用的代码:

class DraggableView: UITextView 

var lastLocation:CGPoint = CGPointMake(0, 0)

override init(frame: CGRect, textContainer: NSTextContainer?) 
    super.init(frame: frame, textContainer: textContainer)
    // Initialization code
    var panRecognizer = UIPanGestureRecognizer(target:self, action:"detectPan:")
    self.gestureRecognizers = [panRecognizer]

    self.editable = true
    self.selectable = true
    self.backgroundColor = UIColor.redColor()


required init(coder aDecoder: NSCoder) 
    fatalError("init(coder:) has not been implemented")


func detectPan(recognizer:UIPanGestureRecognizer) 
    var translation  = recognizer.translationInView(self.superview!)
    self.center = CGPointMake(lastLocation.x + translation.x, lastLocation.y + translation.y)


override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) 
    // Promote the touched view
    //self.superview?.bringSubviewToFront(self)

    // Remember original location
    lastLocation = self.center


出现了,但问题是我不能写任何东西或与之交互,我只能移动它。

有什么问题?

【问题讨论】:

完成这项工作绝对不是那么简单,我在 ObjC 中有答案,但我没有时间翻译它,但它比你那里的内容要复杂得多。跨度> 【参考方案1】:

我认为你应该替换代码

self.gestureRecognizers = [panRecognizer]

self.addGestureRecognizer(panRecognizer)

我认为必须有一个手势鞭子属于gestureRecognizers来告诉textView成为第一响应者。

【讨论】:

非常感谢!解决了问题

以上是关于可拖动的 UITextView 没有响应的主要内容,如果未能解决你的问题,请参考以下文章

dragover 上的浏览​​器响应 - html5 拖放

选择另一个 UITextView 时,如何阻止 UITextView 退出第一响应者/关闭键盘?

iOS Swift 按钮在视图中没有响应

如何创建包含可拖动拆分器的响应式 html div 元素?

如何成为从一个 UITextView 到另一个 UITextView 的响应者?

动画后UITextView不响应触摸事件