NavigationBar的使用
1.//通過導航控制器的setNavigationBarHidden方法隱藏導航條
[self.navigationControllersetNavigationBarHidden:YES];
2.//導航控制器中的導航條尺寸固定(320*44)
3.//拿到導航條的方法
//self.navigationController.navigationBar
4.//設置導航條的風格(黑色風格,默認為Defautl風格,iOS7以后,余下的三個樣式幾乎沒有差別),設置導航條的風格樣式會波及到狀態欄
//iOS7以前,設置導航條的樣式不會影響狀態欄
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
5.//開發中應用做多的(設置導航條的背景圖片)
//UIBarMetricsDefault 對應iphone豎屏(人像模式)
//UIBarMetricsLandscapePhone 對應iPhone橫屏(風景模式)
6. //圖片尺寸嚴格為(320*44、640*88視網膜屏)//圖片嚴格遵守320*44的尺寸,貼圖不會波及到狀態欄,而且狀態欄會自動呈現出最初的樣式
[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"navigationbar"] forBarMetrics:UIBarMetricsDefault];
//橫屏導航欄的尺寸(480*32)(風景模式)
[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"nav-32"] forBarMetrics:UIBarMetricsLandscapePhone];
UINavigationItem(用于定制導航條上內容的顯示)
1.//通過navigationItem設置導航條上顯示的標題
self.navigationItem.title = @"root";
2.//設置導航條上顯示的標題視圖
將導航條的titleView設置成一個view
self.navigationItem.titleView = titleView;
3.UIBarButtonItem的對象有多種創建方式
// //通過初始化標題的方法
// //UIBarButtonItemStylePlain (iOS7中將Item的圓角矩形和邊框全部去掉了)
// //UIBarButtonItemStylePlain (iOS7中將Item的圓角矩形和邊框全部去掉了)
4.//// //顯示在導航條的左側
self.navigationItem.leftBarButtonItem = item;
5.// //用系統提供的樣式初始化得到UIBarButtonItem的對象
UIBarButtonItem *item1 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCameratarget:selfaction:@selector(rightItemClicked:)];
6.// //開發中最常用的創建UIBarButtonItem的方法 initWithCustomView(接收UIView)最常用的接收一個UIButton(custom樣式,貼圖)
UIButton *customBtn = [UIButtonbuttonWithType:UIButtonTypeCustom];
[customBtn setFrame:CGRectMake(0, 0,30,30)];
[customBtn setBackgroundImage:[UIImageimageNamed:@"itemImage"] forState:UIControlStateNormal];
[customBtn addTarget:self action:@selector(custombtnClicked)
forControlEvents:UIControlEventTouchUpInside];
//上邊是創建一個自定義的按鈕 下邊這一句是將創建的button作為customView賦值給barbuttonitem
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithCustomView:customBtn];
7.// //會在導航條上從右到左顯示
NSArray *array = [NSArray arrayWithObjects:item1,item2,nil];
[item1 release];
[item2 release];
// //rightBarButtonItems 數組 設置一組UIBarButtonItem的顯示,數組的元素必須是UIBarButtonItem的對象
self.navigationItem.rightBarButtonItems = array;
8.判斷一個類中是否有某個方法
//判斷_delegate中是否支持sendTitle:方法
if ([類 respondsToSelector:@selector(sendTitle:)])
toolbar(工具欄)
1.//每個導航控制器都有一個工具欄,是一個UIToolBar的對象,顯示在最底部,尺寸(320*44),工具欄默認處于隱藏狀態
//顯示工具欄
[self.navigationControllersetToolbarHidden:NO];
2. //UIToolbarPositionBottom 理解(每個UIView都可以指定TopBar 和BottomBar),導航控制器中工具欄是作為導航控制器view的BottomBar被自動創建出來的
[self.navigationController.toolbarsetBackgroundImage:[UIImageimageNamed:@"toolBar.png"] forToolbarPosition:UIToolbarPositionBottombarMetrics:UIBarMetricsDefault];
3. UIBarButtonItem *item1 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAddtarget:selfaction:@selector(itemClicked)];
UIBarButtonItem *item2 = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdittarget:selfaction:@selector(itemClicked)];
//UIBarButtonSystemItemFlexibleSpace (創建出來的為看不見的間隔按鈕,間隔的數值會根據設定自動計算出來,等距的間隔)
UIBarButtonItem *space = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpacetarget:selfaction:@selector(itemClicked)];
NSArray *array = [NSArray arrayWithObjects:space,item1,space,item2,space,nil];
[item1 release];
[item2 release];
[space release];
self.toolbarItems = array;
//開發中,底部工具欄往往自己通過UIView+UIButton定制
新聞熱點
疑難解答