Objective c 使UIScrollView zoomToRect:仅显示一部分

Objective c 使UIScrollView zoomToRect:仅显示一部分,objective-c,ios,uiscrollview,zooming,Objective C,Ios,Uiscrollview,Zooming,我有一个包含UIImageView的UIScrollView子类。当用户双击区域时,我希望缩放到该CGRect(从CGPoint计算)并“隐藏”UIImageView的其余部分。阅读漫画时,Mavel.app和Walking Dead.app的最终效果类似 直到现在,我得到: -(void)presentRect:(CGRect)rect { self.bounds = originalFrame; //1 [UIView beginAnimations:@"navigateToP

我有一个包含UIImageView的UIScrollView子类。当用户双击区域时,我希望缩放到该CGRect(从CGPoint计算)并“隐藏”UIImageView的其余部分。阅读漫画时,Mavel.app和Walking Dead.app的最终效果类似

直到现在,我得到:

-(void)presentRect:(CGRect)rect {
  self.bounds = originalFrame;    //1
  [UIView beginAnimations:@"navigateToPos" context:nil];    
  [self zoomToRect:rect animated:NO];
  self.bounds = rect;   
  [UIView commitAnimations];
}
这是可行的,但是“zoomToRect”需要整个UIScrollView的边界,当我重新启动它(第1行)时,它会产生一种不希望的效果

我被这件事缠住了。我不知道我是否需要一种新方法,或者需要使用UIScrollView的另一个属性


感谢您的帮助。谢谢。

我下载了这个应用程序来查看它。我几乎可以肯定他们甚至没有使用uiscrollview。页面移动的方式让我想到了这一点。uiscrollview应该只在您真正需要它的时候使用,因为它在您进行定制时有很多问题。(平铺内容、缩放和其他问题)

滑动到下一页大约50px.,该页转到下一页,在uiscrollview中,它没有发生,因为它的工作方式不同


正如我之前所说的,它可能是使用4个条(正如你纠正我的)制作的,或者它可以通过一个视图包装uiimage并用作遮罩来完成。您只需计算缩放方块的大小并将其移动到中心,然后调整包装器视图的大小以适应此新大小。页面的uiscrollview的替代品可以是一个简单的图像库,但是你把这个“漫画视图”放在哪里呢?

我已经用uiscrollview中的其他属性解决了这个问题,模拟了所需的效果。

我有一个印象,他们在uiscrollview上使用了两个黑条,并设置了缩放和位置的动画。没什么难的。嗯,我不确定,这意味着要有4个条,并根据可见的矩形计算每个条的矩形……在iPhone或iPad中,行为有点不同。在iPad中,如果你向右移动50px,你可以看到下一张图片,就像使用UIScroolView的画廊一样。