首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在UICollectionViewCell中缩放UIScrollView?

如何在UICollectionViewCell中缩放UIScrollView?
EN

Stack Overflow用户
提问于 2013-06-06 19:07:32
回答 4查看 13.1K关注 0票数 24

我正在尝试在UICollectionViewCell中添加一个UIScrollView。这个想法是,您可以使用pinch来缩放UIScrollView (以及其中的图像),但scrollview似乎不能处理任何手势。我猜他们被UICollectionView抓到了。

我已将UIScrollView的委托设置为UICollectionViewCell,但没有调用任何委托方法。

编辑:我已经用代码创建了一个github代码库(尽可能简化)。即使只有几行代码,我也看不出我做错了什么。

EDIT2:找到答案后,我在上面提到的repo中添加了修复,希望其他人也能找到帮助:)

https://github.com/krummler/gallery-pinchzoom-example

EN

回答 4

Stack Overflow用户

发布于 2013-06-10 22:20:53

请在您的单元格中添加滚动视图,并在滚动视图中添加您当前的单元图像视图。然后使用以下代码:

代码语言:javascript
复制
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    ImageContext *context = [self.images objectAtIndex:indexPath.row];
    ImageCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"imageCell" forIndexPath:indexPath];
    cell.cellScrollView.autoresizesSubviews = YES;
    cell.cellScrollView.multipleTouchEnabled =YES;
    cell.cellScrollView.maximumZoomScale = 4.0;
    cell.cellScrollView.minimumZoomScale = 1.0;
    cell.cellScrollView.clipsToBounds = YES;
    cell.cellScrollView.delegate = self;
    cell.cellScrollView.zoomScale = 1.0;

    [cell.imageView setImage:[UIImage imageNamed:context.thumbImageUrl]];

return cell;
}
 -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
 {   NSLog(@"%i",scrollView.subviews.count);
  for (UIView *v in scrollView.subviews) {
    if ([v isKindOfClass:[UIImageView class]]) {
        return v;
      }
  }

}

票数 4
EN

Stack Overflow用户

发布于 2013-06-06 19:15:46

检查所有相关视图的多点触控是否处于打开状态。默认情况下,iOS在大多数视图上禁用多点触控,以节省能源。

票数 0
EN

Stack Overflow用户

发布于 2013-06-08 21:40:02

代码语言:javascript
复制
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{            
  if (touch.view == [self myScrollView]) //<- whatever your scrollView is called 
    {
      return YES;
    }
  return NO;
}

我不知道你的代码,但是试着使用上面的代码,看看你是否能过滤掉你想要的对象。上面的代码来自UIGestureRecognizerDelegate Protocol Reference

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16960556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档