放大UIImageView而不使用scrollView或WebView

时间:2010-04-06 17:20:55

标签: iphone xcode uiimageview

是否有任何代码示例教授如何通过用户点击在UIImageView中放大和缩小?

我知道可以使用UIScrollView和UIWebView来实现,但这些解决方案在我的代码中都需要进行大量更改,而且由于大学项目的截止日期,我正按计划进行。

我基本上想要一个关于如何直接操作UIImageView的示例,其行为与iPhone中的相册相同:

  • 第一次双击 - >放大
  • 第二次双击 - >缩小
  • 使用“双指”多点触控捏合和缩放

非常感谢!

1 个答案:

答案 0 :(得分:0)

我不确定滚动自己的解决方案会比UIScrollView或UIWebView更简单。但是,如果您已经开始使用自己的解决方案,可以使用自定义事件处理和更改UIImageView的框架来完成。您需要通过重写以下方法来处理UIImageView(或其容器)上的触摸事件:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

您需要区分这些方法中的水龙头和捏水,并相应地设置UIImageView的框架。请记住,框架是UIView的可动画属性,因此您也可以为这些更改设置动画。

如果您还不知道如何处理这些方法中的事件,那么我强烈建议您重新考虑使用UIScrollView或UIWebView来执行您想要的操作。