当没有网的时候,项目会显示上次已经下载过的图片,避免界面是空白的情况;
//#import "UIImageView+AFNetworking.h" 这个af的库就不用了,因为不自带缓存
// [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:([adImageArr count]-1)]] placeholderImage:nil];
这是设置图片的方法
#import "UIImageView+WebCache.h" sdwebimage 这里面有缓存的功能
[imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:i]] placeholderImage:niloptions:SDWebImageRefreshCached]; //
//本地有值的话 就直接取出来 没网的时候
NSMutableArray *array = [USER_DEFAULT objectForKey:kLooppicListImageArray];
if (array.count > 0) {
if (!adImageArr) {
adImageArr = [[NSMutableArray alloc] initWithArray:[USER_DEFAULT objectForKey:kLooppicListImageArray]];
}else{
[adImageArr removeAllObjects];
adImageArr = [USER_DEFAULT objectForKey:kLooppicListImageArray];
}
[self addSubviewFormData];
}
[self getImages];
-(void)getImages
{
//开始请求 4.3.7 不记名卡赠与接口
NSDictionary *para = @{@"application":@"looppicList.Req",
@"type":@"1"
};
[[YFRequest sharedInstance] requestWithDictionary:para completion:^(BOOL success, id responseData) {
if (success) {
if (responseData) {
NSArray *arr=nil;
arr=responseData[@"looppicItems"];
if (!adImageArr) {
adImageArr = [[NSMutableArray alloc] initWithCapacity:0];
}
else{
[adImageArr removeAllObjects];
}
for (int i=0;i<arr.count;i++) {
[adImageArr addObject: [NSString stringWithFormat:@"%@%@",responseData[@"serverAddress"], arr[i][@"url"]]];
}
//图片的地址存在本地
[USER_DEFAULT setObject:adImageArr forKey:kLooppicListImageArray];
//清理缓存
[[[SDWebImageManager sharedManager] imageCache] clearDisk];
[[[SDWebImageManager sharedManager] imageCache] clearMemory];
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[self addSubviewFormData];
}
}
}];
}
- (void)addSubviewFormData{
//添加广告begin
for (UIView* vi in _adScrollView.subviews) {
[vi removeFromSuperview];
}
UIImageView *imageViewBtn = [[UIImageView alloc] init];
// [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:([adImageArr count]-1)]] placeholderImage:nil];
[imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:([adImageArr count]-1)]] placeholderImage:nil options:SDWebImageRefreshCached];
imageViewBtn.frame = CGRectMake(0, 0.5, kScreenWidth, self.mTableView.tableFooterView.frame.size.height - 1);
[_adScrollView addSubview:imageViewBtn];
for (int i = 0;i<[adImageArr count];i++) {
UIImageView *imageViewBtn = [[UIImageView alloc] init];
// [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:i]] placeholderImage:nil];
[imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:i]] placeholderImage:nil options:SDWebImageRefreshCached];
imageViewBtn.frame = CGRectMake((kScreenWidth * i) + kScreenWidth, 0.5, kScreenWidth, self.mTableView.tableFooterView.frame.size.height - 1);
[_adScrollView addSubview:imageViewBtn];
}
imageViewBtn = [[UIImageView alloc] init];
// [imageViewBtn setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:0]] placeholderImage:nil];
[imageViewBtn sd_setImageWithURL:[NSURL URLWithString:[adImageArr objectAtIndex:0]] placeholderImage:nil options:SDWebImageRefreshCached];
imageViewBtn.frame = CGRectMake((kScreenWidth * ([adImageArr count] + 1)) , 0.5, kScreenWidth, self.mTableView.tableFooterView.frame.size.height - 1);
[_adScrollView addSubview:imageViewBtn];
[_adScrollView setContentSize:CGSizeMake(kScreenWidth * ([adImageArr count] + 2), self.mTableView.tableFooterView.frame.size.height - 1)];
[_adScrollView setContentOffset:CGPointMake(0, 0)];
[_adScrollView scrollRectToVisible:CGRectMake(kScreenWidth,0.5,kScreenWidth,self.mTableView.tableFooterView.frame.size.height - 1) animated:NO];
_pageControl.numberOfPages = [adImageArr count];
_pageControl.frame = CGRectMake((kScreenWidth - 20*adImageArr.count)/2, self.mTableView.tableFooterView.frame.size.height-23, 20*adImageArr.count, kPageControlHeight);
_pageControl.currentPage = 0;
[NSTimer scheduledTimerWithTimeInterval:kChangeTimeInterval
target:self
selector:@selector(handleTimer:)
userInfo:nil
repeats:YES];
}