原因UIScrollView zoomToRect:仅显示一部分

时间:2011-11-17 10:22:06

标签: objective-c ios uiscrollview zoom

我有一个包含UIImageView的UIScrollView子类。当用户双击该区域时,我想缩放到该CGRect(从CGPoint计算)并“隐藏”UIImageView的其余部分。当您正在阅读漫画时,Mavel.app和The 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的另一个属性。

感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:0)

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

滑到下一页只有50px aprox。,页面转到下一页,在uiscrollview中它没有发生,因为它工作差异。

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

答案 1 :(得分:0)

我已经解决了使用UIScrollView中的其他属性来模拟所需的效果。