NSArray
图片有:
2012-08-15 10:12:39.687 test[4200:11103] (
"http://192.168.1.165/Images/Demo/1.jpg",
"http://192.168.1.165/Images/Demo/0.jpg",
"http://192.168.1.165/Images/Demo/0.jpg",
"http://192.168.1.165/Images/Demo/2.jpg",
"http://192.168.1.165/Images/Demo/2.jpg",
"http://192.168.1.165/Images/Demo/2.jpg",
"http://192.168.1.165/Images/Demo/2.jpg",
"http://192.168.1.165/Images/Demo/1.jpg",
"http://192.168.1.165/Images/Demo/1.jpg",
"http://192.168.1.165/Images/Demo/1.jpg" )
代码.m:
dispatch_async(htvque, ^{
NSData* data = [NSData dataWithContentsOfURL: tophotfilm];
NSError* error;
json = [NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error];
NSDictionary *list = [json objectForKey:@"List"];
NSMutableArray *arrPoster =[[NSMutableArray alloc]init];
for(NSString *po in list)
{
NSString *poster = [po valueForKey:@"Poster"];
[arrPoster addObject:poster];
}
myArray = [NSArray arrayWithArray:arrPoster];
NSArray *colors = [[NSArray alloc] initWithObjects:[UIColor redColor],
[UIColor greenColor], [UIColor magentaColor],
[UIColor blueColor], [UIColor orangeColor],
[UIColor brownColor], [UIColor grayColor], nil];
//NSLog(@"%@",colors);
NSLog(@"%@",myArray);
for (int i = 0; i < myArray.count; i++) {
//NSLog(@"%@",myArray.count);
NSString *imageName = [NSString stringWithFormat:@"%@", i];
UIImage *image = [UIImage imageNamed:imageName];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
CGRect rect = imageView.frame;
rect.origin.x = self.scrollView.frame.size.width * i;
rect.origin.y = 0;
rect.size = scrollView.frame.size;
[self.scrollView addSubview:imageView];
}
scrollView.pagingEnabled = YES;
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width *
myArray.count,scrollView.frame.size.height);
pageControl.currentPage = 0;
pageControl.numberOfPages = myArray.count;
[super viewDidLoad];
});
使用NSArray颜色,它工作正常,但NSArray图像有一些错误。
scrollview不显示listimage,它显示第一张图片,任何人都知道为什么......
dispatch_async(dispatch_get_main_queue(),^ { for(int i = 0; i&lt; myArray.count; i ++) { // NSString * imageName = [NSString stringWithFormat:@“%@”,[myArray objectAtIndex:i]];
NSURL *urlImage = [NSURL URLWithString:[NSString stringWithFormat:@"%@",[myArray objectAtIndex:i]]]; //NSLog(@"%@",urlImage); UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:urlImage]]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; CGRect rect = imageView.frame; rect.size.height = imgHeight; rect.size.width = imgWidth; imageView.frame = rect; imageView.tag = i; //rect.size = scrollView.frame.size; [scrollView addSubview:imageView]; } scrollView.pagingEnabled = YES; scrollView.showsHorizontalScrollIndicator = NO; scrollView.showsVerticalScrollIndicator = NO; scrollView.contentSize = CGSizeMake(scrollView.frame.size.width *
myArray.count,scrollView.frame.size.height); pageControl.currentPage = 0; pageControl.numberOfPages = myArray.count; });
答案 0 :(得分:0)
检查此行代码
NSString *imageName = [NSString stringWithFormat:@"%@", i];
您的图像名称只有1,2等,而不是日志中打印的图像名称
应该是
[myArray objectATIndex:i];
答案 1 :(得分:0)
您正在使用imageNamed:
,它只能用于项目内的图像,如果我理解您的问题,您正试图从服务器访问它们。试试这个UIImage
方法:imageWithData:
NSURL *url = [NSURL URLWithString:[myArray objectAtIndex:i]];
UIImage *img = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];