首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UITextView: addGestureRecognizer并找到textView的标签

UITextView: addGestureRecognizer并找到textView的标签
EN

Stack Overflow用户
提问于 2019-03-11 00:24:23
回答 1查看 38关注 0票数 0
代码语言:javascript
复制
override func viewDidLoad() {
    let tap = UITapGestureRecognizer(target: self, action: #selector(findTag))
    textViews[i].addGestureRecognizer(tap)
}

var x : Int?

@objc func  findTag (textView : UITextView) {
    x = textView.tag
    print(x)
}

// why it does not work?

func dragInteraction(_ interaction: UIDragInteraction, itemsForBeginning session: UIDragSession) -> [UIDragItem] {
    print(x)
    var itemA : UIDragItem?
    for textView in textViews {
        let itemProvider = NSItemProvider(object: textView.text as NSString)
        let item = UIDragItem(itemProvider: itemProvider)
        itemA = item
    }
    print("item")
    print(itemA)
    return [itemA!]
}

我只想找出与哪个文本视图交互,因为拖动项目总是返回最后一项,如你所见。

EN

回答 1

Stack Overflow用户

发布于 2019-03-11 00:52:05

我用session.location和hitTest方法找到了解决方案。

代码语言:javascript
复制
func dragInteraction(_ interaction: UIDragInteraction, itemsForBeginning session: UIDragSession) -> [UIDragItem] {
    let point = session.location(in: self.stackView)
    let n = stackView.hitTest(point, with: nil) as! UITextView
    let itemProvider = NSItemProvider(object: n.text as NSString)
    let item = UIDragItem(itemProvider: itemProvider)

    return [item]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55089813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档