iphone - 是否可以将 UIGestureRecognizer 附加到子类 UIImageView?

标签 iphone objective-c ios uiimageview uigesturerecognizer

在将 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/

相关文章:

iphone - 当 TableView 滚动时值发生变化

ios - UICollectionView多个单元格(UICollectionViewCell)在Objective-C中闪烁同步

ios - 离开 View 并返回后,FetchedResult View 不会更新

ios - UIPinchGestureRecognizer 变换未从中心调整大小

ios - 带有附件的 UIKit 动态行为平移不继续碰撞行为?

iphone - 将 Urbanairship 集成到我的 iOS 应用程序中所需的最少文件集是什么?

iphone - writeToFile 不适用于内部有 UIImagePickerControllerReferenceURL 的 NSDictionary

iphone - 卡住 IOS 中的 UI

ios - 修复了 UIPageViewController 的背景滚动效果

ios - 设备图库图像未显示在 ios7 的设备中