【发布时间】:2012-04-03 02:46:46
【问题描述】:
在我的 iPad 应用程序中,我有三个显示图像的大型 UIImageView(每个都几乎是屏幕的大小,并且它们具有旋转、阴影等特殊效果,看起来像一个新闻堆栈) .当显示这些图像时,应用程序会非常缓慢地运行。 UIAlertViews 从字面上看,当它们呈现时它们只有两帧,并且动画甚至没有滞后......它们更糟!但是当我不展示 UIImageViews 时,一切都会快速而优雅地运行。显然我做错了,因为 iOS 肯定可以处理三个图像。关于如何使应用程序运行得更快的任何建议?谢谢。
PS 我什至不想知道当我将新 iPad 的图像分辨率加倍时会发生什么哈哈
编辑:这是我用来设置阴影的代码。这利用了 QuartzCore 框架。
page2.layer.shadowColor = [UIColor blackColor].CGColor;
page2.layer.shadowOpacity = 1.0;
page2.layer.shadowRadius = 10.0;
page2.layer.shadowOffset = CGSizeMake(0, 4);
编辑 2(答案):似乎由于我设置阴影的方式而出现了延迟。 如果将 shadowPath 属性设置为 UIImageViews 边界的 UIBezierPath,渲染会更快更流畅,应用程序也会显着加速。这是我的最终代码:
page2.layer.shadowColor = [UIColor blackColor].CGColor;
page2.layer.shadowOpacity = 1.0;
page2.layer.shadowRadius = 10.0;
page2.layer.shadowOffset = CGSizeMake(0, 4);
page2.layer.masksToBounds = NO;
UIBezierPath *path2 = [UIBezierPath bezierPathWithRect:page2.bounds];
page2.layer.shadowPath = path2.CGPath;
【问题讨论】:
-
你的图片来自url ??
-
不,它们保存在文档目录中。
-
你先保存到文档目录????
-
是的,在显示视图之前,所有内容都已保存在文档目录中并可用。视图呈现后,UIImageViews 被加载,麻烦就开始了。
-
当您将图像存储在文档目录中时,将其压缩并存储在文档目录中..您在表格视图中显示图像???
标签: iphone objective-c ios ipad uiimageview