iOS學習之UINavigationController詳解與使用(三)ToolBar
接上篇,我們接著講Navigation 的Toolbar。

效果:
在SecondViewController.m新增
先把RootView時顯示的Toobar隱藏
跳轉Second到Third效果:
1、顯示Toolbar
在RootViewController.m的- (void)viewDidLoad方法中新增程式碼,這樣Toobar就顯示出來了。
- [self.navigationController setToolbarHidden:NO animated:YES];

2、在ToolBar上新增UIBarButtonItem
新建幾個UIBarButtonItem,然後以陣列的形式新增到Toolbar中
- UIBarButtonItem *one = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:nil action:nil];
- UIBarButtonItem *two = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:nil action:nil];
- UIBarButtonItem *three = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];
- UIBarButtonItem *four = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:nil action:nil];
- UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
- [self setToolbarItems:[NSArray arrayWithObjects:flexItem, one, flexItem, two, flexItem, three, flexItem, four, flexItem, nil]];
效果:
注意:用 [self.navigationController.toolbar setItems:(NSArray *) animated:<#(BOOL)#>]這個方法新增item是不起效果的。下面我動態自己新增Toolbar時,這個才起效果。
3、動態新增Toolbar
我們在SecondView新增動態的Toolbar。
在SecondViewController.h新增
- #import <UIKit/UIKit.h>
- @interface SecondViewController : UIViewController
- {
- UIToolbar *toolBar;
- }
- @end
在SecondViewController.m新增
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- [self.navigationController setToolbarHidden:YES animated:YES];
- UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(gotoThridView:)];
- toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height - toolBar.frame.size.height - 44.0, self.view.frame.size.width, 44.0)];
- [toolBar setBarStyle:UIBarStyleDefault];
- toolBar.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
- [toolBar setItems:[NSArray arrayWithObject:addButton]];
- [self.view addSubview:toolBar];
- // Do any additional setup after loading the view from its nib.
- }
[self.navigationController setToolbarHidden:YESanimated:YES];然後把新建的Toolbar新增的SecondView中,併為Toobar設定了一個Item.
[toolBarsetItems:[NSArrayarrayWithObject:addButton]];
BarButtonItem用 的是UIBarButtonSystemItemSearch, 效果如下:
4、新建ThridView,從SecondView跳轉到
Commad+N新建一個ThridViewController,
這個addButton跳轉到ThridView
- -(void)gotoThridView:(id)sender
- {
- ThridViewController *thridView = [[ThridViewController alloc] init];
- [self.navigationController pushViewController:thridView animated:YES];
- thridView.title = @"Thrid View";
- }
跳轉Second到Third效果:
到此UINavigationController練習的差不多了。
相關文章
- 【IOS開發初學者】UINavigationController詳解iOSUINavigationController
- iOS 8 之後UINavigationController新特性iOSUINavigationController
- iOS之runtime詳解api(三)iOSAPI
- Material Design 實戰 之第一彈——Toolbar詳解Material Design
- iOS開發-檢視控制器UINavigationController的介紹與基本使用iOSUINavigationController
- MYSQL學習(三) --索引詳解MySql索引
- Git 學習之命令詳解Git
- iOS UIButton之UIButtonType詳解iOSUI
- iOS UIButton之UIEdgeInsets詳解iOSUI
- [iOS]UINavigationController 全屏 pop 之為控制器新增左滑 pushiOSUINavigationController
- 機器學習之Xgboost詳解機器學習
- Linux學習之iostat命令詳解LinuxiOS
- android:ToolBar詳解(手把手教程)(2)Android
- Linux 三劍客之 grep 使用詳解Linux
- Hadoop 學習系列(三)之 YARN 詳細解析HadoopYarn
- VueJS中學習使用Vuex詳解VueJS
- iOS之runtime詳解api(二)iOSAPI
- iOS之runtime詳解api(四)iOSAPI
- iOS之runtime詳解api(一)iOSAPI
- iOS開發之 Autolayout 詳解iOS
- 系統學習iOS動畫之五:使用UIViewPropertyAnimatoriOS動畫UIView
- redux v3.7.2原始碼詳細解讀與學習之composeRedux原始碼
- iOS Tangram(VirtualView)動態元件的學習與使用iOSView元件
- 深度學習之遷移學習介紹與使用深度學習遷移學習
- Python學習之 異常處理詳解Python
- iOS 學習使用 Swift CodableiOSSwift
- Toolbar使用總結
- HIVE學習之(三)Hive
- IOS學習之淺析深拷貝與淺拷貝iOS
- Flutter外掛學習之Native通訊詳解Flutter
- Elsa V3學習之Flowchart詳解(上)
- 三極體使用詳解
- 三劍客詳解之find
- iOS 靜態庫詳解與開發iOS
- iOS學習筆記43 Swift(三)類iOS筆記Swift
- jmeter學習指南之詳解jmeter執行緒組JMeter執行緒
- (六)Flutter學習之Dart非同步操作詳解FlutterDart非同步
- InnoDB學習(三)之BinLog
- iOS 開發:『Runtime』詳解(三)Category 底層原理iOSGo