作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用顶部带有 KIImagePager 的 QMBParallaxScrollViewController。每次我滚动它时,KIImagePager 每次都会加载所有图像。
这是我在顶部栏中的代码
- (void)viewDidLoad
{
self.photos = [NSMutableArray array];
for(NSString* imageURL in self.pictures) {
[self.photos addObject: [ENDPOINT stringByAppendingString: imageURL]];
}
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSArray *) arrayWithImages
{
return self.photos;
}
- (UIViewContentMode) contentModeForImage:(NSUInteger)image
{
return UIViewContentModeScaleAspectFill;
}
触发的方法是arrayWithImages和contentModeForImage。
我怎样才能改变这种行为?
最佳答案
其实viewcontroller频繁触发arrayWithImages
方法是没有问题的。 self.photos
数组在 viewcontroller 加载时填充一次,因此它不会影响性能。在 iOS 上询问数据的方法而不是属性是一种常见的模式。唯一应该考虑的是方法应该尽可能快地返回数据。 arrayWithImages
返回 self.photos
,因此它应该没有任何性能问题。
要防止重新加载图像,请使用 NSURLCache
。将此添加到您的应用委托(delegate):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:4 * 1024 * 1024
diskCapacity:20 * 1024 * 1024
diskPath:nil];
[NSURLCache setSharedURLCache:URLCache];
}
如果您需要了解有关 NSURLCache
的更多信息,请查看这篇很棒的文章 http://nshipster.com/nsurlcache
关于ios - 每次 View 滚动时,将 KIImagePager 与外部图像一起加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22746152/
我正在使用顶部带有 KIImagePager 的 QMBParallaxScrollViewController。每次我滚动它时,KIImagePager 每次都会加载所有图像。 这是我在顶部栏中的代
我是一名优秀的程序员,十分优秀!