在将 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{
...
}
最佳答案
UIImageView
默认将 setUserInteractionEnabled
标志设置为 NO
& setMultipleTouchEnabled
设置为 NO
。您是否尝试将这些标志设置为 YES
?
你可以这样改——
[self.myImageView setMultipleTouchEnabled:YES];
[self.myImageView setUserInteractionEnabled:YES];
关于iphone - 是否可以将 UIGestureRecognizer 附加到子类 UIImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7906860/