zoukankan      html  css  js  c++  java
  • ios--小结系列二

    一、UIButton的状态

    •normal(普通状态)
    Ø 默认情况
    Ø 对应的枚举常量:UIControlStateNormal
     
    •highlighted(高亮状态)
    Ø 按钮被按下去的时候(手指还未松开)
    Ø 对应的枚举常量:UIControlStateHighlighted
     
    •disabled(失效状态,不可用状态)
    Ø 如果enabled属性为NO,就是处于disable状态,代表按钮不可以被点击
    Ø 对应的枚举常量:UIControlStateDisabled

    二、UIButton和UIImageView

    •相同点:都能显示图片
     
    •不同点
    Ø UIButton默认情况就能监听点击事件,而UIImageView默认情况下不能
    Ø UIButton可以在不同状态下显示不同的图片
    Ø UIButton既能显示文字,又能显示图片
     
    •如何选择
    Ø UIButton:需要显示图片,点击图片后需要做一些特定的操作
    Ø UIImageView:仅仅需要显示图片,点击图片后不需要做任何事情
     

    三、NSArray和NSDictionary的使用

    •当图片内容非常多时,“根据index来设置内容”的代码就不具备扩展性,要经常改动
    •为了改变现状,可以考虑讲图片数据线保存到一个数组中,数组中有序地放着很多字典,一个字典代表一张图片数据,包含了图片名、图片描述

    @property (strong, nonatomic) NSArray *images;

    •由于只需要初始化一次图片数据,因此放在get方法中初始化
    •将属性放在get方法中初始化的方式,称为“懒加载””延迟加载”
     

    四、什么是Plist文件

    •直接将数据直接写在代码里面,不是一种合理的做法。如果数据经常改,就要经常翻开对应的代码进行修改,造成代码扩展性低
    •因此,可以考虑将经常变的数据放在文件中进行存储,程序启动后从文件中读取最新的数据。如果要变动数据,直接修改数据文件即可,不用修改代码
    •一般可以使用属性列表文件存储NSArray或者NSDictionary之类的数据,这种属性列表文件的扩展名是plist,因此也成为“Plist文件”
     

    五、解析Plist文件

    •接下来通过代码来解析Plist文件中的数据
    Ø 获得Plist文件的全路径

    NSBundle *bundle = [NSBundle mainBundle];

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

    Ø 加载plist文件

    _images = [NSArray arrayWithContentsOfFile:path];

    - (NSArray *)images

    {

        if (_images == nil) {

            NSBundle *bundle = [NSBundle mainBundle];

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

            _images = [NSArray arrayWithContentsOfFile:path];

        }

        return _images;

    }

  • 相关阅读:
    乌龟棋
    Cut the Sequence
    [NOI2001]炮兵阵地
    Fence
    环路运输
    查找并替换字符串 Find And Replace in String
    最大交换 Maximum Swap
    丑数问题 Ugly Number
    二叉树最大宽度 Maximum Width of Binary Tree
    距离为K的节点 All Nodes Distance K in Binary Tree
  • 原文地址:https://www.cnblogs.com/fy3344520/p/4348431.html
Copyright © 2011-2022 走看看