根据这个问题,UIGestureRecognizer
有一个view
属性,它指的是手势附加到的视图。我在我的代码中使用了这个:
//Code for the 1st UIScrollView
UIImageView *bookCover = [[UIImageView alloc]initWithFrame:CGRectMake(50, 100, 145, 420)];
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]initWithTarget:self
action:@selector(downloadBookTapped:)];
[bookCover addGestureRecognizer:singleTap];
[bookCover release];
[singleTap release];
//Code for the second UIScrollView
UIImageView *fileCover = [[UIImageView alloc]initWithFrame:CGRectMake(50, 100, 145, 420)];
UITapGestureRecognizer *singleFileTap = [[UITapGestureRecognizer alloc]initWithTarget:self
action:@selector(downloadFileTapped:)];
[fileCover addGestureRecognizer:singleFileTap];
[fileCover release];
[singleFileTap release];
这是我使用该view
属性的地方:
- (void)downloadBookTapped:(UITapGestureRecognizer *)sender
{
UIImageView *imgView = (UIImageView *)sender.view;
CGRect rect = [imgView frame];
UIImageView *images = [[UIImageView alloc]initWithFrame:rect];
//rest of code here...
}
- (void)downloadFileTapped:(UITapGestureRecognizer *)sender
{
UIImageView *imgView = (UIImageView *)sender.view;
CGRect rect = [imgView frame];
UIImageView *images = [[UIImageView alloc]initWithFrame:rect];
//rest of code here...
}
这里的问题是我有两个scrollView
,每个滚动视图都包含多本书。当我在 1st 选择一本书时scrollView
,images
正确显示。但是当我在 2nd 中选择一本书时scrollView
,images
显示不正确。谁能解释为什么会这样?谢谢。
- -附加信息 - -
两者scrollViews
具有相同的宽度和高度。当然,不同之处在于位置。第一个 scrollView 位于 (0, 0),而第二个位于 (0, 350)。你可以把这两个想象成“架子”,第一个是最上面的架子,第二个是最下面的架子。
要指定问题,假设我在第二个滚动视图中选择了一本书。然后images
将显示好像我在第一个滚动视图中选择了一本书。意思images
是,显示在第一个滚动视图而不是第二个滚动视图中。