[摘要]本文是對06-圖片浏覽器的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。
圖片浏覽器
小案例簡介
接下來使用UIImageView、UILabel、UIButton實現一個綜合小案例
功能分析
點擊箭頭切換序號、圖片、描述
如果是首張圖片,左邊箭頭不能點擊
如果是尾張圖片,右邊箭頭不能點擊
搭建UI界面
監聽按鈕點擊
切換序號、圖片、描述
掌握
更換UIImageView的圖片
了解UIImageView的contentMode
更換UILabel的文字 在storyboard中設置UILabel的自動換行和文字居中
NSArray和NSDictionary的簡單使用
Plist文件的創建和讀取
屬性的懶加載
viewDidLoad方法的使用
UIButton的多種狀態
作業
使用純代碼的方式重寫圖片浏覽器小案例(不要拖控件)
UILabel的基本設置
要想讓UILabel自動換行,設置Lines為0即可
讓UILabel的文字居中顯示
UIButton的狀態
默認情況
對應的枚舉常量:UIControlStateNormal
按鈕被按下去的時候(手指還未松開)
對應的枚舉常量: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;
}
Plist文件的解析過程