【发布时间】:2013-06-03 09:10:04
【问题描述】:
假设我有一个自定义视图,我想向它添加手势识别器。
UIPanGestureRecognizer* y = a.panGestureRecognizer;
y.minimumNumberOfTouches = 2;
y.maximumNumberOfTouches = 2;
[self addGestureRecognizer:y];
将a 的panGestureRecognizer 添加到self 后,a 将不再具有panGestureRecognizer。
我应该怎么做,即使在将 UIPanGestureRecognizer 添加到 self 之后,a 仍然会拥有它(例如复制它)?
我按照 meronix 的建议尝试了这个,但出现异常。
UIPanGestureRecognizer* y = [a.panGestureRecognizer copy]; //I'm using ARC so I didn't add autorelease.
[self addGestureRecognizer:y];
-[UIScrollViewPanGestureRecognizer copyWithZone:]: unrecognized selector sent to instance 0x1c5c2460
【问题讨论】:
-
你为什么还要复制它?正确的方法是创建一个新的识别器。如果您想要更方便,请创建一个服务方法来为您进行设置。
-
根据我投反对票的答案...
-
为什么对这个问题投反对票?
-
您是否尝试过
[[UIPanGestureRecognizer alloc] initWithTarget:action:]使用与a.panGestureRecognizer相同的操作 -
@meronix 我没有否决这个问题。鉴于这个问题已经开放了 6 天,并且有多个问题被问到,但没有收到提问者的回应......我现在已经对这个问题投了反对票。
标签: iphone objective-c cocoa-touch