【问题标题】:Swift 2.0 beta trying to make UITextview be able to be draggedSwift 2.0 beta 试图让 UITextview 能够被拖动
【发布时间】:2015-10-09 02:03:27
【问题描述】:

我收到此错误消息:“-[UITextView labelDragged:]: unrecognized selector sent to instance 0x7a2bf400” 这是我的代码:

var upperText:UITextView = UITextView()
 var lowerText:UITextView = UITextView()
private func addGestureRecognizers(){  
       let drag1 = UIPanGestureRecognizer(target: upperText,action: Selector("labelDragged:"))
        let drag2 = UIPanGestureRecognizer(target: lowerText, action: Selector("labelDragged:"))
        view.addGestureRecognizer(drag1)
        view.addGestureRecognizer(drag2)
    }
func  labelDragged(sender : AnyObject?) {
        let gesture:UIPanGestureRecognizer = sender as! UIPanGestureRecognizer
        let textView:UITextView = gesture.view as! UITextView
        let translation:CGPoint = gesture.translationInView(textView)
        textView.center = CGPointMake(textView.center.x, textView.center.y + translation.y)
        gesture.setTranslation(CGPointZero, inView: textView)
    }

这是我第一次发帖,请帮忙。 谢谢。

【问题讨论】:

    标签: ios swift swift2


    【解决方案1】:

    您必须将目标设置为self

    target: self
    

    【讨论】:

    • 还是不行 T.T. 我只是试图拖动文本视图而不是整个视图。
    • 非常感谢我明白了。只是我第一次玩 Swift 2 (y)
    • @Unheilig BTW,你需要将UIPanGestureRecognizer添加到self.view。!您可以直接添加到UITextView,这是我关心的!
    【解决方案2】:

    我希望您需要研究如何将手势识别器添加到任何视图中。

    private func addGestureRecognizers(){  
           let drag1 = UIPanGestureRecognizer(target: self,action: Selector("labelDragged:"))
            let drag2 = UIPanGestureRecognizer(target: self, action: Selector("labelDragged:"))
            upperText.addGestureRecognizer(drag1)
            lowerText.addGestureRecognizer(drag2)
        }
    

    用我的代码替换你的代码,它会正常工作。

    【讨论】:

    • 谢谢!真的很有帮助。
    猜你喜欢
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多