我试图将plist文件中的各种图像显示到UIImageView中,我编写了这样的代码:
NSDictionary *picturesDictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Photos" ofType:@"plist"]];
imageArray = [picturesDictionary objectForKey:@"PhotosArray"];
PhotosInAlbum.image = [UIImage imageWithContentsOfFile:[imageArray objectAtIndex:1]];
但实际上没有任何反应,我的ImageView是空的!我也有两个按钮来转发后向图像。
Plist的内容:
答案 0 :(得分:2)
plist不正确,应该是
Root ---- Dictionary
PhotosArray ----- Array
Item 0 ------ String -- Beach.jpg
然后将此代码添加到viewController中。确保Interface imageView链接到IBOutlet。
NSDictionary *picturesDictionary = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Photos" ofType:@"plist"]];
NSArray *imageArray = [picturesDictionary objectForKey:@"PhotosArray"];
PhotosInAlbum.image = [UIImage imageNamed:[imageArray objectAtIndex:0]];
答案 1 :(得分:1)
尝试使用:
PhotosInAlbum.image = [UIImage imageNamed:[imageArray objectAtIndex:1]];
您的[imageArray objectAtIndex:1]
只返回图像名称而不是其路径,因此为了使用imageWithContentsOfFile,您必须指定图像的路径,而不仅仅是图像名称。
答案 2 :(得分:1)
PhotosInAlbum.image = [UIImage imageWithContentsOfFile:[imageArray objectAtIndex:1]];
这部分应该是这样的
PhotosInAlbum.image = [UIImage imageNamed:[imageArray objectAtIndex:1]];
答案 3 :(得分:0)
imageWithContentsOfFile:
使用路径作为文件的完整路径或部分路径。
您可以使用imageNamed:
方法(使用文件名)。只需替换
[UIImage imageWithContentsOfFile:[imageArray objectAtIndex:1]];
到
[UIImage imageNamed:[imageArray objectAtIndex:1]];
答案 4 :(得分:0)
最初,[UIImage imageNamed:[imageArray objectAtIndex:1]];
会解决您的问题。
但是你无法通过这种方式解决这个问题
问题似乎在于这一行
[controller.view addSubview:PhotosInAlbum];
您的控制器可能就是这种情况。查看在您尝试添加图片查看时为零。
确保不是。如果是,那么您的PhotosInAlbum根本不会被添加为controller.view
的子视图。