首页 > 代码库 > [iOS基础控件 - 3.3] 图片浏览器
[iOS基础控件 - 3.3] 图片浏览器
需求:
1.显示当前图片序号/总图片数
2.显示图片
3.上一张图片、下一张图片转换
4.显示图片描述
A.数据的加载方式
1.逐个加载、处理
2.使用数组、字典分离数据和逻辑
3.延迟加载
将初始化放在getter初始化,当需要的数据不存在才初始化
4.使用plist
存储数据在外部文件,剥离数据和逻辑代码
不要使用带”info”的名字,会跟系统文件混淆
a.使用NSBundle获得手机全路径
1 if (_imageData =http://www.mamicode.com/= 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 =http://www.mamicode.com/ [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 =http://www.mamicode.com/ 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] 图片浏览器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。