天天看點

UIBarButtonItem導覽列按鈕封裝

系統導覽列應該再iOS開發項目中都會有用到。但是有時間長篇大論的在C裡邊寫一大串代碼,未必會有些繁雜。基于封裝角度,今天我們來做一個導覽列UIBarButtonItem的進一步封裝,讓代碼更簡潔

今天通過給導覽列添加圖檔來舉例說明
我們先看下系統給我們開出來的方法
UIBarButtonItem導覽列按鈕封裝
這裡封裝采用自定義view,通過分類方式實作。目的為了調用友善。當然這是項目源碼,可放心使用。直接上代碼
UIBarButtonItem導覽列按鈕封裝
/**
 系統導覽列按鈕UIBarButtonItem封裝

 @param imageName 圖檔名字
 @param target 目前Controller
 @param action 方法名
 @return 傳回根據圖檔可定制UIBarButtonItem
 */
+(instancetype)itemWithImageNamed:(NSString *)imageName
                           target:(id)target
                           action:(SEL)action;

           
這是分類.h裡邊的方法。上邊是調用示例,下邊為開出來的方法。注釋比較詳細。代碼可建立分類後直接拷貝過去使用
.m實作方法
UIBarButtonItem導覽列按鈕封裝
/**
 系統導覽列按鈕UIBarButtonItem封裝

 @param imageName 圖檔名字
 @param target 目前Controller
 @param action 方法名
 @return 傳回根據圖檔可定制UIBarButtonItem
 */
+(instancetype)itemWithImageNamed:(NSString *)imageName
                           target:(id)target
                           action:(SEL)action{
    UIButton * Barbutton = [[UIButton alloc]init];
    [Barbutton setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
    [Barbutton addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

    [Barbutton sizeToFit];
    return [[UIBarButtonItem alloc]initWithCustomView:Barbutton];


}

           

調用示例。在Controller裡邊直接調用即可

/**
 系統導覽列按鈕封裝,
 可直接倒入頭檔案使用
 調用示例
 右側導覽列按鈕,
 self.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithImageNamed:@"message_pic"
                                                                       target:self
                                                                       action:@selector(didSelectRightNavButton)];
 左側導覽列按鈕
 self.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithImageNamed:@"message_pic"
                                                                       target:self
                                                                       action:@selector(didSelectRightNavButton)];


 */

           

很實用的小技巧。每天進步一點點