#import "ViewController.h"
@interface ViewController ()
//图片序号
@property (weak, nonatomic) IBOutlet UILabel *numView;
//上一张按钮
@property (weak, nonatomic) IBOutlet UIButton *preBtn;
//下一张按钮
@property (weak, nonatomic) IBOutlet UIButton *nextBtn;
//图片
@property (weak, nonatomic) IBOutlet UIImageView *iconView;
//详细 描述
@property (weak, nonatomic) IBOutlet UILabel *desView;
//上一张
- (IBAction)pre;
//下一张
- (IBAction)next;
//图片索引
@property (nonatomic,assign) int index;
//创建字典数组存储数据
@property (nonatomic,strong) NSArray *arrData;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//读取plist文件
//1.获取 plist文件的全路径
NSBundle *bundle=[NSBundle mainBundle];
//2.获取 bundel下指定文件名称的全路径 pathForResource可以返回bundle下指定文件名和扩展名的文件全路径
//NSString *filePath=[bundle pathForResource:@"imgData" ofType:@"plist"];
NSString *filePath=[bundle pathForResource:@"imgData.plist" ofType:nil];
//3.arrayWithContentsOfFile需要文件的全路径,它读取指定全路径的文件的内容,生成key-value,添加到数组中
self.arrData=[NSArray arrayWithContentsOfFile:filePath];
self.index=-1;
[self next];
}
- (IBAction)pre {
self.index--;
[self showImage];
}
//显示 图片
- (void) showImage
{
//先取出对应索引位置的字典
NSDictionary *dict=self.arrData[self.index];
self.numView.text=[NSString stringWithFormat:@"%d/%ld",(self.index+1),self.arrData.count];
self.desView.text=dict[@"desc"];
//为UIImageView设置图片 imageNamed可以通过指定的图片名称来创建对应的UIImage对象进行返回
//1.缺点:它会生成图片缓存(再次使用时的速度更快,因为它不再需要去重新获取数据),它不会立刻释放,而需要等到这个应用程序结束后才释放
//2.当你需要加载 数量多 且 图片容量大 的图片的时候,不建议使用这种方式。
self.iconView.image=[UIImage imageNamed:dict[@"icon"]];
//}
self.preBtn.enabled=(self.index!=0); //第一张的时候禁用
self.nextBtn.enabled=(self.index!=self.arrData.count-1);//第三张的时候禁用
}
- (IBAction)next {
self.index++;
[self showImage];
}
@end