2

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

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

我假设我想在这里取第一个值:UITextView: 0xf67afc0;并将其应用于UITextViewivar。我这样设置

UITextView *selectedTextView;

但是当我尝试分配recognizer.view给这个 ivar 时,我得到一个错误:!Incompatible pointer types assigning to "UITextView" __strong from "UIView".我想我需要以某种方式只取第一个值UITextView: 0xf67afc0并将其分配给 ivar?我该怎么做,或者我在这里吠错了树?

4

1 回答 1

3

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

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

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

于 2012-09-03T07:11:27.450 回答