【发布时间】:2012-08-09 14:30:28
【问题描述】:
根据这个question,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,每个滚动视图都包含多本书。当我在第一个scrollView 选择一本书时,images 显示正确。但是当我在第二个scrollView 中选择一本书时,images 显示不正确。谁能解释为什么会这样?谢谢。
---附加信息---
两个scrollViews 具有相同的宽度和高度。当然,不同之处在于位置。第一个 scrollView 位于 (0, 0),而第二个位于 (0, 350)。你可以把这两个想象成“架子”,第一个是最上面的架子,第二个是最下面的架子。
要说明问题,假设我在第二个滚动视图中选择了一本书。然后将显示images,就好像我在第一个滚动视图中选择了一本书。意思是,images 显示在第一个滚动视图中,而不是第二个滚动视图中。
【问题讨论】:
标签: objective-c uiimageview uigesturerecognizer