iOS:使用缩放模拟 iPhone 相机胶卷

Posted

技术标签:

【中文标题】iOS:使用缩放模拟 iPhone 相机胶卷【英文标题】:iOS: simulate iPhone camera roll with zoom 【发布时间】:2012-01-12 10:20:24 【问题描述】:

在我的应用中,我模拟了 iPhone 的相机胶卷; 我有一个包含所有图像的 mainScrollView,对于每个图像我都有一个 srollView 来缩放它。您知道您可以使用图像缩放每个页面,但是有没有办法让所有图像缩放为 1.5(例如);当我打开相机胶卷时,我想用变焦(例如 1.5)查看每张图像,这可能吗? 我试试这个:

for (int i = 0;i<13;i++)
        UIScrollView *scrollView = [[UIScrollView alloc]init];
        scrollView = (UIScrollView *)[scrollV viewWithTag:i + SCROLL_TAG];
        scrollView.maximumZoomScale = 1.35;
        scrollView.minimumZoomScale = 1.35;
        [scrollView setZoomScale:1.35];
        [scrollView release];
    

但是这段代码只缩放第一张图片,我不知道为什么!!!

【问题讨论】:

scrollView = (UIScrollView *)[scrollV viewWithTag:i + SCROLL_TAG];这条线是做什么的? 我为每个图像设置了一个滚动视图,然后为每个滚动视图设置了一个标签;使用这行代码,我将“scrollView”设置为我的滚动视图之一 啊,scrollV是mainScrollView 如果是这样的话,那么上面创建的实例是多余的不是吗?发布也是如此.. 【参考方案1】:

我猜你可能只需要这个,因为最后的 alloc 和 release 只是多余的。除此之外,代码非常简单。

for (int i = 0;i<13;i++)
        UIScrollView *scrollView = (UIScrollView *)[scrollV viewWithTag:i + SCROLL_TAG];
        scrollView.maximumZoomScale = 1.35;
        scrollView.minimumZoomScale = 1.35;
        [scrollView setZoomScale:1.35];
    

完成此操作后,请尝试在循环之外打印其中一个视图的缩放比例以确保确定。

【讨论】:

以上是关于iOS:使用缩放模拟 iPhone 相机胶卷的主要内容,如果未能解决你的问题,请参考以下文章

UIImage 不保存到相机胶卷

iPhone - 应用程序中的相机胶卷

自定义相册中的图像保存问题以及 iphone 中的默认相机胶卷

带摄像头的 iPhone UIImagepicker 像默认摄像头应用一样显示相机胶卷缩略图?

拍摄快照并保存到相机胶卷时的 iOS 图像大小

IOS如何以全分辨率从相机胶卷中选择图像