在我們開發(fā)項目時候合陵,經(jīng)常會遇到導航欄左右兩邊存在按鈕,或者不存在按鈕
今天給大家封裝一下這個功能:截圖給大家看澄阳,同時提供代碼
第一步
Snip20160801_4.png
第二步
Snip20160801_5.png
第三步:在.m文件里面封裝
Snip20160801_7.png
/**
* 創(chuàng)建一個item
*
* @param target 點擊item后調(diào)用哪個對象的方法
* @param action 點擊item后調(diào)用target的哪個方法
* @param image 圖片
* @param highImage 高亮的圖片
*
* @return 創(chuàng)建完的item
*/
+ (UIBarButtonItem *)itemWithTarget:(id)target action:(SEL)action image:(NSString *)image highImage:(NSString *)highImage
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
// 設(shè)置圖片
[btn setBackgroundImage:[UIImage imageNamed:image] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:highImage] forState:UIControlStateHighlighted];
// 設(shè)置尺寸
btn.size = btn.currentBackgroundImage.size;
return [[UIBarButtonItem alloc] initWithCustomView:btn];
}
第四步:在.h文件提供出方法
Snip20160801_6.png
+ (UIBarButtonItem *)itemWithTarget:(id)target action:(SEL)action image:(NSString *)image highImage:(NSString *)highImage;
第五步
Snip20160801_8.png
self.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithTarget:self action:@selector(sweep) image:@"navigationbar_pop" highImage:@"navigationbar_pop"];
self.navigationItem.rightBarButtonItem = [UIBarButtonItem itemWithTarget:self action:@selector(message) image:@"navigationbar_friendsearch" highImage:@"navigationbar_friendsearch"];
注意:我這里把高亮圖片和默認圖片設(shè)置為了同一張圖片拥知,如果公司需求沒有要求設(shè)置高亮,你就和我一樣設(shè)置同一張圖片就可碎赢,如果你要設(shè)置為空的話低剔,會報一個警告,不過沒有關(guān)系肮塞,我們可以給他設(shè)置一個空格@“ ”就把圖片設(shè)置為@+ “ + 空格 +”就可以了
后面有個哥們給了個建議說封裝一下文字襟齿,其實如果左右兩邊是文字的話使用系統(tǒng)自帶的就可以了.這里我就貼一小段代碼,自己看一下哈
UIBarButtonItem *item = [UIBarButtonItem appearance];
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[NSForegroundColorAttributeName] = [UIColor redColor];
[item setTitleTextAttributes:dict forState:UIControlStateNormal];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"哈哈" style:UIBarButtonItemStylePlain target:self action:@selector(click)];
}
Dome:https://github.com/LYWGod/UIBarButtonItemExtension
備注:
如果有不足或者錯誤的地方還望各位讀者批評指正枕赵,可以評論留言猜欺,筆者收到后第一時間回復。
QQ/微信:2366889552 /lan2018yingwei拷窜。
簡書號:凡塵一笑:[簡書]
http://www.reibang.com/users/0158007b8d17/latest_articles
感謝各位觀眾老爺?shù)拈喿x开皿,如果覺得筆者寫的還湊合,可以關(guān)注或收藏一下篮昧,不定期分享一些好玩的實用的demo給大家赋荆。
文/凡塵一笑(簡書作者)
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)恋谭,并標注“簡書作者”糠睡。