码迷,mamicode.com
首页 > 其他好文 > 详细

OC实现图片浏览器 --ViewController.m代码

时间:2015-09-05 00:02:19      阅读:439      评论:0      收藏:0      [点我收藏+]

标签:

 
  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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!