标签:
1 /* 2 思路 3 1、拖动控件 4 2、创建plist文件(数组,成员是字典形式,有标题和内容) 5 3、创建数组,读取plist文件内容到数组中 6 4、设置点击事项 7 next按钮点击时: 8 1.页码label++; 9 2.image视图: 10 读取数组中对应下标的字典类型成员的图片; 11 3.内容标签: 12 读取数组中字典类型成员的内容。 13 3.1页码标签 14 4.边界处理:如:在最后一张图片显示时,把next按钮设置为失效。同时使左边按钮生效 15 pre按钮方法同上。 16 */ 17 #import "ViewController.h" 18 19 @interface ViewController () 20 @property(nonatomic,strong) NSArray *pic; 21 22 - (IBAction)next; 23 @property (weak, nonatomic) IBOutlet UIButton *btnNext; 24 25 - (IBAction)pre; 26 @property (weak, nonatomic) IBOutlet UIButton *btnPre; 27 @property (weak, nonatomic) IBOutlet UILabel *index; 28 @property (weak, nonatomic) IBOutlet UILabel *content; 29 @property (nonatomic,assign) int yeMa;//整形属性未赋值时,默认值为0; 30 @property (weak, nonatomic) IBOutlet UIImageView *imgView; 31 32 @end 33 34 @implementation ViewController 35 - (void)viewDidLoad { 36 [super viewDidLoad]; 37 38 //下面两句代码使得开始界面为第一张图! 39 self.yeMa = -1; 40 [self next]; 41 } 42 43 - (void)didReceiveMemoryWarning { 44 [super didReceiveMemoryWarning]; 45 // Dispose of any resources that can be recreated. 46 } 47 //3.读取plist文件内容到数组中 48 //重写pic get方法 ----懒加载数据------ 49 - (NSArray*)pic 50 { 51 if (_pic == nil )// 为空才加载,只加载一次 52 {//1.获取pic.plist文件路径 53 NSString* path = [[NSBundle mainBundle] pathForResource:@"pic.plist" ofType:nil]; 54 //读取文件 55 NSArray *arr = [NSArray arrayWithContentsOfFile:path]; 56 _pic = arr; 57 } 58 return _pic;//不能return arr;arr作用域已经结束了。即使在if里返回return arr;这里也不能少(if条件不满足时,执行if外return)。 59 } 60 61 - (IBAction)next 62 { 63 ////防边界全灰bug,点了这个方向,就说明另一个方向按钮可以生效 64 // self.btnPre.enabled = YES; 65 // 1.页码label++; 66 self.yeMa++;//访问自身属性,当然用self。第一次点击就变为1了! 67 68 // 2.设置控件 69 [self setKongJian]; 70 } 71 72 - (IBAction)pre 73 { 74 75 // 1.页码label--; 76 self.yeMa--;//访问自身属性,当然用self。第一次点击就变为1了! 77 78 // 2.设置控件 79 [self setKongJian]; 80 } 81 82 - (void)setKongJian 83 { 84 // 2.0取得数组中元素(字典型) 85 NSDictionary *dic = self.pic[self.yeMa];//1 86 // 2.image视图: 87 // 读取数组中对应下标的字典类型成员的图片; 88 self.imgView.image = [UIImage imageNamed:dic[@"icon"]];//! 89 90 // 3.内容标签: 91 // 读取数组中字典类型成员的内容。 92 self.content.text = dic[@"title"]; 93 94 // 3.1页码标签 95 self.index.text = [NSString stringWithFormat:@"%d/%ld",self.yeMa + 1,self.pic.count];//! 96 97 // 4.边界处理:如:在最后一张图片显示时,把next按钮设置为失效。同时使左边按钮生效 98 self.btnNext.enabled = (self.pic.count - 1 != self.yeMa);// ! 99 self.btnPre.enabled = (self.yeMa != 0); 100 101 } 102 @end
效果如下:
OC实现图片浏览器 --ViewController.m代码
标签:
原文地址:http://www.cnblogs.com/Dast1/p/4782580.html