ios - 如何使用 UITapGestureRecognizer 引用 "selected object"?

标签 ios xcode uitextview uigesturerecognizer ivar

我想使用点击手势识别器来选择一个对象(在我的例子中是一个UITextView)。当对象被点击时,“recognizer.view”将返回我认为被点击的对象。以下是我记录 recognizer.view 时得到的结果。

<UITextView: 0xf67afc0; frame = (155.5 119.5; 100 100); text = 'string'; clipsToBounds = YES; tag = 1; layer = <CALayer: 0xf67b1f0>; 

我假设我想在此处获取第一个值:UITextView: 0xf67afc0;并将其应用于UITextView ivar。我像这样设置了一个

UITextView *selectedTextView;

但是当我尝试将recognizer.view分配给这个ivar时,我收到一个错误:! 从“UIView”分配给“UITextView”__strong的不兼容指针类型。我想我需要以某种方式仅获取第一个值UITextView: 0xf67afc0并且将其分配给 ivar?我该怎么做,或者我在这里吠错了树?

最佳答案

您需要将识别器上的 view 属性向下转换为 UITextView 而不是 UIView

UITextView *selectedTextView = (UITextView *)recognizer.view;

希望这对您有所帮助,如果您有任何疑问,请告诉我。

关于ios - 如何使用 UITapGestureRecognizer 引用 "selected object"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243215/

相关文章:

swift - iOS 13.1 UITextView 委托(delegate)方法 shouldInteract 在附件上滚动时调用

ios - 使 UITextView 高度动态化,约束乘数问题

ios - UITextView - 在 iOS 6 上截断显示省略号的文本(使用自动布局)

iphone - 5000+ CoreData 查询最大化 iPhone CPU 和滞后显示

javascript - 触摸设备中的 VideoJS 播放器覆盖按钮

ios - 向自定义按钮添加操作

ios - 如何根据宽度更改 View 的高度

ios - 命令行 Swift 构建 - 此 libswiftCore.dylib 副本需要 10.14.4 之前的操作系统版本

ios - 使用 CloudKit 驱动主从

ios - 在 CoreData ios swift3 中仅获取表的几个属性