UIScrollView加载图像

时间:2010-06-07 20:18:34

标签: cocoa image uiscrollview

我想在我的应用上找到一种“简单”的方法来使用捏合/缩放功能! 所以我决定使用UIScrollView。 到目前为止一切顺利。

我从sqlite db加载我的图像,如下所示:

        - (void)viewWillAppear:(BOOL)animated {
            imageView.image = entity.Aattribute;
        }


    - (void)viewDidLoad {
                self.title = @"Title";

        imageView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
        imageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
        imageView.contentMode = UIViewContentModeScaleAspectFit;
        imageView.backgroundColor = [UIColor blackColor];


            myScrollView.contentSize = CGSizeMake(imageView.frame.size.width, imageView.frame.size.height);
            myScrollView.maximumZoomScale = 4.0;
            myScrollView.minimumZoomScale = 0.75;
            myScrollView.clipsToBounds = YES;
            myScrollView.delegate = self;

            [myScrollView addSubview:imageView];


 self.view = myScrollView;



        }


        - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
            return imageView;
        }

任何帮助将不胜感激!

谢谢你的时间!

修改 我要在这里回答我自己的问题! (我在这方面越来越好!!!大声笑)

以上是工作代码。我已经编辑过,如果有人需要,可以参考它! 谢谢你的答案!

1 个答案:

答案 0 :(得分:0)

这看起来大致正确。几个笔记:

  • 你拼错了“viewDidLoad”。这可能是将其键入浏览器窗口的副作用。如果你的代码出错了,那肯定无法让事情变得更好。
  • viewForZoomingInScrollView:希望您返回UIViewmyImage听起来很可疑 UIView不同。您应该返回imageView实例变量。这就是被感动的东西。

修改

From the documentation

  

UIScrollView类可以有一个   必须采用的代表   UIScrollViewDelegate协议。对于   缩放和平移工作,   代表必须实施两者   viewForZoomingInScrollView:和   scrollViewDidEndZooming:withView:atScale:;   另外,最大   (maximumZoomScale)和最小(   minimumZoomScale)必须缩放比例   不同。

所以看起来你仍然需要实现另一个委托方法。