懸浮TabBar的實現(xiàn)
這個TabBar看著像是用自定義TabBar做的,但事實上它還是用的系統(tǒng)的TabBar,給系統(tǒng)的tabBar.backgroundImage設(shè)置一張設(shè)計好的背景圖片。
添加后會發(fā)現(xiàn)頂部有一條陰影線彪标,并且TabBar的高度也不夠肃晚。陰影線與上圖綠色線條之間變成了透明顏色屑咳,實現(xiàn)下面方法隱藏陰影線道盏,并且調(diào)高TabBar的高度。
//隱藏陰影線
[[UITabBar appearance] setShadowImage:[UIImage new]];
- (void)setupTabBarBackgroundImage {
UIImage *image = [UIImage imageNamed:@"tab_bg"];
CGFloat top = 40; // 頂端蓋高度
CGFloat bottom = 40 ; // 底端蓋高度
CGFloat left = 100; // 左端蓋寬度
CGFloat right = 100; // 右端蓋寬度
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);
// 指定為拉伸模式苟耻,伸縮后重新賦值
UIImage *TabBgImage = [image resizableImageWithCapInsets:insetsresizingMode:UIImageResizingModeStretch];
self.tabBar.backgroundImage = TabBgImage;
[[UITabBar appearance] setShadowImage:[UIImage new]];
[[UITabBar appearance] setBackgroundImage:[[UIImage alloc]init]];
}
//自定義TabBar高度
- (void)viewWillLayoutSubviews {
CGRect tabFrame = self.tabBar.frame;
tabFrame.size.height = 60;
tabFrame.origin.y = self.view.frame.size.height - 60;
self.tabBar.frame = tabFrame;
}