码迷,mamicode.com
首页 > 移动开发 > 详细

[iOS基础控件 - 3.3] 图片浏览器

时间:2014-11-24 22:24:43      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   io   ar   color   os   使用   sp   

需求:
1.显示当前图片序号/总图片数
2.显示图片
3.上一张图片、下一张图片转换
4.显示图片描述
 
bubuko.com,布布扣
 
A.数据的加载方式
1.逐个加载、处理
2.使用数组、字典分离数据和逻辑
3.延迟加载
     将初始化放在getter初始化,当需要的数据不存在才初始化
4.使用plist
     存储数据在外部文件,剥离数据和逻辑代码
     不要使用带”info”的名字,会跟系统文件混淆
 
a.使用NSBundle获得手机全路径
    
 1 if (_imageData == nil) {
 2         // 初始化数据
 3         // File: 全路径
 4         // NSBoundle: 一个NSBoundle代表一个文件夹
 5         // 利用mainBundle就可以访问手机里面的任何资源
 6         NSBundle *bundle = [NSBundle mainBundle];
 7        
 8         // 获得imageData.plist的全路径
 9         NSString *path = [bundle pathForResource:@"imageDate" ofType:@"plist"];
10         _imageData = [NSArray arrayWithContentsOfFile:path];
11     }
 
b. plist文件的解析过程
逐层解析、封装
 
 
c.转换图片
 1 #pragma mark 转换图片
 2 - (void) changeData {
 3     // 1.设置当前图片的序号标题
 4     self.noLabel.text = [NSString stringWithFormat:@"%d/%d", self.index + 1, self.imageData.count];
 5     
 6     // 2.取出当前的图片数据
 7     NSDictionary *currentImageData = self.imageData[self.index];
 8     
 9     // 3.设置图片
10     self.iconView.image = [UIImage imageNamed:currentImageData[IconKey]];
11     
12     // 4.设置图片描述
13     self.descLabel.text = currentImageData[DescKey];
14     
15     // 5.改变按钮状态
16     self.previousButton.enabled = (self.index != 0);
17     self.nextButton.enabled = (self.index != self.imageData.count - 1);
18 }
19 
20 #pragma mark 上一张
21 - (IBAction)previous {
22     self.index--;
23     [self changeData];
24 }
25 
26 #pragma mark 下一张
27 - (IBAction)next {
28     self.index++;
29     [self changeData];
30 }
31 @end
 
 

[iOS基础控件 - 3.3] 图片浏览器

标签:des   style   blog   io   ar   color   os   使用   sp   

原文地址:http://www.cnblogs.com/hellovoidworld/p/4119721.html

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