본문 바로가기
프로그래밍 놀이터/iOS

[ios] Custom TabBar 만들기

by 돼지왕 왕돼지 2017. 12. 4.
반응형

 [ios] Custom TabBar 만들기


appearance, BackgroundImage, COLOR, custom tabbar, CustomTabBarController, insert, itemSpacing, itemWidth, selectedimagetintcolor, selectionindicatorimage, setbartintcolor, settintcolor, setTitletextAttributes, shadowimage, subview, tabbar, tint color, tintColor, Translucent, UIBarStyle, UIBarStyleBlack, UIBarStyleDefault, UIControlStateHighlighted, uitabbar appearance, UITabBarItem, UITabBarItemPositioning, UITabBarItemPositioningAutomatic, UITabBarItemPositioningCentered, UITabBarItemPositioningFill, [ios] Custom TabBar 만들기


-

가장 쉬운 Custom Tabbar 는 버튼부터 시작해서 모두 처음부터 만드는 것이다.



-

처음부터 구현한 Tabbar lib 은..

https://github.com/boctor/idev-recipes/tree/master/CustomTabBar



-

Tabbar 의 tint color 는 아래의 코드로 바꿀 수 있다.

[[UITabBar appearance] setTintColor:[UIColor redColor]]; // iOS 5 + 6;

[[UITabBar appearance] setBarTintColor:[UIColor redColor]]; // iOS 7



-

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITabBar_Class/


UITabBar 의 Appearance 에는 아래와 같은 property 들이 있다.

UIColor *tintColor; // iOS 5, 6

UIColor *barTintColor; // background color, from iOS 7

UIColor *selectedImageTintColor; // deprecated from iOS 8

UIImage *backgroundImage;

UIImage *selectionIndicatorImage;

UIImage* shadowImage;


UIBarStyle barStyle

     UIBarStyleDefault

     UIBarStyleBlack

     UIBarStyleBlackOpaque // deprecated

     UIBarStyleTranslucent // deprecated


UITabBarItemPositioning itemPositioning;

     UITabBarItemPositioningAutomatic

     UITabBarItemPositioningFill

     UITabBarItemPositioningCentered


CGFloat itemSpacing // UITabBarItemPositioningCentered option 과 함께

CGFloat itemWidth // UITabBarItemPositioningCentered option 과 함께


BOOL translucent



-

CustomTabBarController 를 extends 하고, 그 안에서 “tabBar” property 에 subView 를 insert 하는 방법으로 color 를 줄 수 있다.



-

[[UITabBarItem appearance] setTitletextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateNormal];

[[UITabBarItem appearance] setTitletextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor greenColor], UITextAttributeTextColor, nil] forState:UIControlStateHighlighted];




반응형

댓글