国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

06-圖片瀏覽器

2019-11-14 19:28:37
字體:
來源:轉載
供稿:網(wǎng)友

圖片瀏覽器

小案例簡介

  • 接下來使用UIImageView、UILabel、UIButton實現(xiàn)一個綜合小案例
  • 功能分析

  1. 點擊箭頭切換序號、圖片、描述

  2. 如果是首張圖片,左邊箭頭不能點擊

  3. 如果是尾張圖片,右邊箭頭不能點擊

  • 步驟分析

  1. 搭建UI界面

  2. 監(jiān)聽按鈕點擊

  3. 切換序號、圖片、描述

掌握

  • 更換UIImageView的圖片
  • 了解UIImageView的contentMode
  • 更換UILabel的文字 在storyboard中設置UILabel的自動換行和文字居中
  • NSArray和NSDictionary的簡單使用
  • Plist文件的創(chuàng)建和讀取
  • 屬性的懶加載
  • viewDidLoad方法的使用
  • UIButton的多種狀態(tài)

作業(yè)

  • 使用純代碼的方式重寫圖片瀏覽器小案例(不要拖控件)

UILabel的基本設置

  • 要想讓UILabel自動換行,設置Lines為0即可
  • 讓UILabel的文字居中顯示

UIButton的狀態(tài)

  • normal(普通狀態(tài))
  1. 默認情況
  2. 對應的枚舉常量:UIControlStateNormal
  • highlighted(高亮狀態(tài))
  1. 按鈕被按下去的時候(手指還未松開)
  2. 對應的枚舉常量:UIControlStateHighlighted
  • disabled(失效狀態(tài),不可用狀態(tài))
  • 如果enabled屬性為NO,就是處于disable狀態(tài),代表按鈕不可以被點擊
  • 對應的枚舉常量:UIControlStateDisabled

UIButton和UIImageView

  • 相同點:都能顯示圖片
  • 不同點
  1. UIButton默認情況就能監(jiān)聽點擊事件,而UIImageView默認情況下不能
  2. UIButton可以在不同狀態(tài)下顯示不同的圖片
  3. UIButton既能顯示文字,又能顯示圖片
  • 如何選擇
  1. UIButton:需要顯示圖片,點擊圖片后需要做一些特定的操作
  2. UIImageView:僅僅需要顯示圖片,點擊圖片后不需要做任何事情

NSArray和NSDictionary的使用

  • 當圖片內(nèi)容非常多時,“根據(jù)index來設置內(nèi)容”的代碼就不具備擴展性,要經(jīng)常改動
  • 為了改變現(xiàn)狀,可以考慮講圖片數(shù)據(jù)線保存到一個數(shù)組中,數(shù)組中有序地放著很多字典,一個字典代表一張圖片數(shù)據(jù),包含了圖片名、圖片描述

       @PRoperty (strong, nonatomic) NSArray *images;

  • 由于只需要初始化一次圖片數(shù)據(jù),因此放在get方法中初始化
  • 將屬性放在get方法中初始化的方式,稱為“懶加載”/”延遲加載”

什么是Plist文件

  • 直接將數(shù)據(jù)直接寫在代碼里面,不是一種合理的做法。如果數(shù)據(jù)經(jīng)常改,就要經(jīng)常翻開對應的代碼進行修改,造成代碼擴展性低
  • 因此,可以考慮將經(jīng)常變的數(shù)據(jù)放在文件中進行存儲,程序啟動后從文件中讀取最新的數(shù)據(jù)。如果要變動數(shù)據(jù),直接修改數(shù)據(jù)文件即可,不用修改代碼
  • 一般可以使用屬性列表文件存儲NSArray或者NSDictionary之類的數(shù)據(jù),這種屬性列表文件的擴展名是plist,因此也成為“Plist文件”

創(chuàng)建Plist文件

解析Plist文件

  • 接下來通過代碼來解析Plist文件中的數(shù)據(jù)
  1. 獲得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;

  }

 

Plist文件的解析過程


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 手游| 贵港市| 福海县| 丽水市| 霍城县| 云霄县| 峨山| 陆川县| 绥阳县| 社旗县| 富顺县| 慈溪市| 孝昌县| 青海省| 勃利县| 华阴市| 乌鲁木齐县| 二连浩特市| 绥德县| 比如县| 桂阳县| 黑河市| 清远市| 五常市| 织金县| 洞头县| 新建县| 临沧市| 同江市| 开原市| 邹平县| 邻水| 德令哈市| 仙桃市| 军事| 方正县| 青岛市| 家居| 枣阳市| 吕梁市| 衡山县|