06-圖片瀏覽器,06-瀏覽器

來源:互聯網
上載者:User

06-圖片瀏覽器,06-瀏覽器
圖片瀏覽器小案例簡介

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

  • 步驟分析

掌握
  • 更換UIImageView的圖片
  • 瞭解UIImageView的contentMode
  • 更換UILabel的文字 在storyboard中設定UILabel的自動換行和文字置中
  • NSArray和NSDictionary的簡單使用
  • Plist檔案的建立和讀取
  • 屬性的懶載入
  • viewDidLoad方法的使用
  • UIButton的多種狀態
作業
  • 使用純程式碼的方式重寫圖片瀏覽器小案例(不要拖控制項)
UILabel的基本設定
  • 要想讓UILabel自動換行,設定Lines為0即可
  • 讓UILabel的文字置中顯示

UIButton的狀態
  • normal(普通狀態)
  • highlighted(高亮狀態)
  • disabled(失效狀態,不可用狀態)
  • 如果enabled屬性為NO,就是處於disable狀態,代表按鈕不可以被點擊
  • 對應的枚舉常量:UIControlStateDisabled

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;

  }

 

Plist檔案的解析過程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.