UITabBarController使用
文章目的
如何用純程式碼的方式建立UITabBarController
方法
1. 首先開啟XCode並建立一個Empty Application
2. 加入一個Objective-C Class並繼承自UIViewController,取名為FirstViewController
3. 重複一次上面動作,並取名為SecondViewController
4. 之後可在工程中看到此圖
5. 開啟AppDelegate.h,並加入如下程式碼
- #import <UIKit/UIKit.h>
- @interface AppDelegate : UIResponder <UIApplicationDelegate>
- {
- UITabBarController* tabBarViewController;
- }
- @property (strong, nonatomic) UIWindow *window;
- @end
6. 開啟AppDelegate.m,並加入如下程式碼
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
- // Override point for customization after application launch.
- self.window.backgroundColor = [UIColor whiteColor];
- [self.window makeKeyAndVisible];
- tabBarViewController = [[UITabBarController alloc]init];
- [self.window setRootViewController:tabBarViewController];
- FirstViewController* first = [[FirstViewController alloc]init];
- SecondViewController* second = [[SecondViewController alloc]init];
- tabBarViewController.viewControllers = [NSArray arrayWithObjects:first, second, nil];
- [first release];
- [second release];
- }
- tabBarViewController = [[UITabBarController alloc]init];
- [self.window setRootViewController:tabBarViewController];
第二行為將tabBarViewController設定為window的root view controller(根檢視控制器)
- tabBarViewController.viewControllers = [NSArray arrayWithObjects:first, second, nil];
7.用程式碼修改TabBar與TabBarItem
- UITabBar *tabBar = tabBarViewController.tabBar;
- UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
- UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
並在UITabBar的items屬性取得所有的UITabBarItem
- tabBarItem1.title = @"Home";
- tabBarItem2.title = @"Maps";
- [tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"home_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"home.png"]];
- [tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"maps_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"maps.png"]];
- (void)setFinishedSelectedImage:(這是UITabBarItem提供的方法,可以設定上面所顯示的圖片,selectedImage是隻目前選擇並顯示的TabBatItem顯示的圖片UIImage *
)selectedImage
withFinishedUnselectedImage:(UIImage *
)unselectedImage
unselectedImage則是平常未選中時顯示的圖片
- UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"];
- [[UITabBar appearance] setBackgroundImage:tabBarBackground];
- [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected.png"]];
- UIColor *titleHighlightedColor = [UIColor colorWithRed:153/255.0 green:192/255.0 blue:48/255.0 alpha:1.0];
- [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
- titleHighlightedColor, UITextAttributeTextColor,
- nil] forState:UIControlStateHighlighted];
- (void)setTitleTextAttributes:(這個方法可以設定顯示文字的屬性,在這段程式碼中,是設定為顯示文字的顏色NSDictionary *
)attributes
forState:(UIControlState
)state
其他參考
相關文章
- UITabbarController的介紹與使用UItabBarController
- UITabBarController相關知識UItabBarController
- UITabbarController + UINavigationController隱藏tabbarUItabBarControllerNavigation
- IOS 學習筆記(3) 檢視UITabbarControlleriOS筆記UItabBarController
- UITabBarController移除系統自帶UITabBarButton簡單實現UItabBarController
- UITabBarController、TabBar背景顏色設定、TabBarItem顏色處理UItabBarController
- iOS開發之自定義UITabBarController-模態出半透明的控制器iOSUItabBarController
- 一個Swift寫的快速搭建UITabBarController+UINavigationController的專案框架SwiftUItabBarControllerNavigation框架
- laravel使用EasyWeChat 使用Laravel
- 使用FTP限制使用者FTP
- 配置vsftpd匿名使用服務,個人使用者使用以及虛擬使用者使用配置細節!FTP
- Laravel passport 多端使用者使用LaravelPassport
- 使用 CSS 追蹤使用者CSS
- mongodb使用者與角色使用MongoDB
- RecyclerView使用指南(四)—— 使用ItemDecorationView
- RecyclerView使用指南(一)—— 基本使用View
- 使用dwebsocket在Django中使用WebsocketWebDjango
- 限制使用者使用session數Session
- 使用Index提示 強制使用索引Index索引
- ImageJ使用教程(一):開始使用
- winscp使用教程多使用者,winscp使用教程多使用者,教程詳情
- vi/vim使用進階: 在VIM中使用GDB除錯 – 使用vimgdb除錯
- 使用jquery和使用框架的區別jQuery框架
- Docker 使用者操作使用說明Docker
- 儘量使用 useReducer,不要使用 useStateuseReducer
- PyCharm使用技巧(六):Regullar Expressions的使用PyCharmExpress
- 使用Bootstrap tab頁切換的使用boot
- Urllib庫的使用一---基本使用
- 使用PyCharm引入需要使用的包PyCharm
- 使用 JWT 認證使用者身份JWT
- 使用者授權,策略的使用
- 使用普通使用者執行 dockerDocker
- 熟練使用使用jQuery Promise (Deferred)jQueryPromise
- mongoDB使用詳解(在node中使用)MongoDB
- 使用Git管理專案 使用總結Git
- Scrapy框架的使用之Scrapyrt的使用框架
- openfire使用自定義使用者表
- Bitbucket使用說明與SourceTree的使用