近期項目進行了全面改版,基本上就是推翻重來,所以對以前項目使用的部分技術進行了重新實現(xiàn).
在前面的文章介紹過,項目中UITabBarController用到了類閑魚/轉(zhuǎn)轉(zhuǎn)的效果,而照搬應用git上面的一位哥們貢獻的方式實現(xiàn)后,點擊中間按鈕突出部分會造成選擇中間按鈕失靈的問題.當初時間倉促,用類似打補丁的方式,對該問題進行了修復.借著這次項目大改的機會,對閑魚效果的實現(xiàn)進行了全部改寫.對代碼優(yōu)化封裝后,方便用到的小伙伴~
下面對使用方式做一下說明:
1在tabBarController的viewDidLoad方法中,添加如下代碼:
- (void)viewDidLoad {
[super viewDidLoad];
GXCustomTabBar *customTabBar = [[GXCustomTabBar alloc] initWithImageName:@"dis_liveCast" title:@"直播" tabBarController:self];
[self setValue:customTabBar forKey:@"tabBar"];
}
2若需要改變中間按鈕的大小/偏移距離/顏色/選中顏色,請在PrefixHeader.pch文件中更改;
3技術實現(xiàn)總結:
<1>用KVC的方式設置customTabBar;
<2>添加CustomBtn到customTabBar;
<3>在customTabBar中用hitTest攔截點擊,處理選中的ViewController;
<4>在customTabBar的layoutSubView方法中移除系統(tǒng)的UITabBarButton和上方的間隔線;
<5>抽取代碼實現(xiàn),使功能相對獨立,方便重用;
下面是git地址:
https://github.com/zhudong10/-TabBarController-
如果使用方便,記得點??鼓勵一下哦~
遇到問題,歡迎留言交流.