【问题标题】:how to add more than 100 uiimageviews in uiscrollview如何在uiscrollview中添加100多个uiimageviews
【发布时间】:2010-01-24 10:50:06
【问题描述】:

我有一个 uiscrollview,我一一添加 uiimageviews 但是当我添加超过 40 个对象时,我猜我的内存有问题,应用程序崩溃了......我该怎么办?我正在尝试从苹果制作一个像照片查看器这样的应用程序!请帮忙!

我不想要缩略图,我只想在用户从一张照片切换到另一张时显示下一张图片,但我必须卸载上一张图片并显示下一张

我像这样删除以前的

UIImageView l;

l=[[scroll subviews] objectAtIndex:0];
[l removeFromSuperview];
l=nil;

然后我像这样添加下一个

[scroll insertSubview:imageView atIndex:counter];

但我看到黑色背景没有图像

请帮忙!

【问题讨论】:

    标签: iphone uiscrollview uiimageview


    【解决方案1】:

    最好的方法是一次将一些图像加载到表格视图中。在表格的每个单元格中,放置三个缩略图。您需要制作一个自定义单元格。这样,表格单元格将被取消排队并重新使用内存。检查 Facebook Three20 项目,我认为他们已经像这样实现了它,所以你会有一些代码可以使用。

    http://joehewitt.com/post/the-three20-project/

    【讨论】:

      【解决方案2】:

      问问自己,您真的需要将所有 100 张图像加载到内存中吗?为什么不在后台一次加载几张图片,具体取决于用户滚动到的图片?

      【讨论】:

      • 我不想将 100 张图像加载到内存中我想卸载当前加载的上一张图像并添加(加载)下一张。从内存中删除上一张并添加下一张.. .
      【解决方案3】:

      不要那样做。

      如果要显示 100 个小缩略图,请先使用核心图形调整它们的大小。然后,当您一次显示 100 张图像时,它们占用的内存会少得多。

      如果您想显示 100 张大图像,但一次只能看到一张,请使用 1 或 2 个图像视图来加载当前和下一个图像,并以巧妙的方式为它们设置动画,使其看起来无穷无尽.您仍然可以使用滚动视图,只需监控它的位置并适当地定位您的图像视图。

      【讨论】:

      • 我不想要缩略图,我只想在用户从一个到另一个滑动时显示下一个图像
      【解决方案4】:

      恰好有一个苹果示例代码可以满足您的需求。查找 PageControl 示例,它已经实现。基本上,滑块从控制器数组中获取图像控制器;除此之外,当滚动条切换到上一个或下一个图像时,控制器会动态地从这个数组中添加和删除,以保持低内存占用。 看一下示例代码,很简单。 希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-08
        相关资源
        最近更新 更多