在将UIPanGestureRecognizer附加到子类UIImageView时,使用“无法识别的选择器发送到实例”消息进行崩溃。我需要继承UIImageView以保存自定义属性,所以我只是这样做并添加了这些属性。我已经在UIImageView上直接测试了平移,它按预期工作。但是,它不适用于子类UIImageView。这是代码(self.myImageView是子类UIImageView,self.defaultImageView是UIImageView):
- (void)viewDidLoad
{
[super viewDidLoad];
UIPanGestureRecognizer * pgr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveCustomImageView:)];
[self.myImageView addGestureRecognizer:pgr]; //nop, getting error during runtime on start panning
[pgr release];
...
pgr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveUIImageView:)];
[self.defaultImageView addGestureRecognizer:pgr]; //yep, that works
[pgr release];
处理程序方法声明具有相同的结构
-(void)moveUIImageView:(UIPanGestureRecognizer *)pan{
...
}
-(void)moveCustomImageView:(UIPanGestureRecognizer *)pan{
...
}
答案 0 :(得分:2)
UIImageView
将setUserInteractionEnabled
标记设置为NO
& setMultipleTouchEnabled
设置为NO
。您是否尝试将这些标记转换为YES
?
你可以这样改变 -
[self.myImageView setMultipleTouchEnabled:YES];
[self.myImageView setUserInteractionEnabled:YES];