IOS基础——图片浏览器

《1》  UIImageView、UILabel、UIButton    

           a)      功能分析

                   i.           点击剪头切换序号、图片、描述

                   ii.           如果是首张图片,左边箭头不能点击

                   iii.           如果是尾张图片,右边箭头不能点击

         b)     步骤分析

                   i.           搭建UI界面

                   ii.           监听按钮点击

                   iii.           切换序号、图片、描述

 

《2》  了解UIImageView的contentMode

《3》  更换UILabel的文字

《4》  在storyboard中设置UIlabel的自动换行和文字居中

《5》  NSArray和NSDictionary的简单使用

《6》  Plist文件的创建和读取

《7》  属性的懒加载

《8》  viewDidLoad方法的使用

《9》  UIButton的多种状态

 

 

练习:使用纯代码的方式重写图片浏览器的小案例

 

UILabel的基本设置---小技巧:

《1》  要想让UILabel自动换行,设置Lines为0即可

 

UIButton的状态

《1》  normal(普通状态)

a)      默认情况

b)     对应的枚举常量:UIControlStateNormal

《2》  highlighted(高亮状态)

a)      按钮被按下去的时候(手指还未松开)

b)     对应的枚举常量:UIControlStateHighlighted

《3》  disabled(失效状态,不可用状态)

a)      如果enabled属性为NO,就是处于disable状态,代表按钮不可以点击

b)     对应的枚举常量:UIControlStateDisabled

 

UIButton和UIImageView

《1》  相同点

a)      都能显示图片

《2》  不同点

a)      Button默认的情况下可用监听点击事件,而UIImageView默认情况下不能

b)     UIButton可以在不同状态显示不同的图片

c)      UIButton既能显示文字,又能显示图片

 

《3》  如何选择

a)      UIButton:需要显示图片,点击图片后需要做一些特定的操作

b)     UIImageView:仅仅需要显示图片,点击图片后不需要做任何事情。

 

NSArray和NSDictionary的使用

《1》  当图片内容非常多时,“根据index来设置内容”的代码就不具备扩展性,要经常改动

《2》  为了改变现状,可以考虑图片数据线保存到一个数组中,数组中有序地放着很多字典,一个字典代表一张图片数据,包含图片名、图片描述

a)      @property(strong,nonatomic)NSArray * image;

《3》  由于只需要初始化一次图片数据,因此放在get方法中初始化

《4》  将属性放在get方法中初始化的方式,称为“懒加载”\”延迟加载”

 

Plist文件

《1》  直接将数据直接写在代码里面,不是一种合理的做法。如果数据经常修改,就要经常翻开对应的代码进行修改,造成代码扩展性低。

《2》  因此,可以考虑将经常变的数据放在文件中进行存储,程序启动后从文件中读取最新的数据。如果要变动数据,直接修改数据文件即可,不用修改代码。

《3》  一般可以使用属性列表文件存储NSArray或者NSDictionary之类的数据,这种属性列表文件的扩张名是plist,因此也成为“Plist文件”。

 

解析Plist文件

《1》  接下来通过代码来解析Plist文件中的数据

《2》  获得Plist文件的全路径

a)      NSBundle * bundle = [NSBundlemainBundle];

b)     NSString * path = [bundlepathForResource:@”imageData” ofType :@”plist”]

《3》  加载plist文件

a)      _images = [NSArrayarrayWithContentOfFile:path];

b)     –(NSArray * ) images

  {

    if (_images == nil) {

        NSBundle *bundle = [NSBundle mainBundle];

        NSString *path = [bundlepathForResource:@"imageData" ofType:@"plist"];

        _images = [NSArrayarrayWithContentsOfFile:path];

    }

    return _images;

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值