注意:::導(dǎo)航欄的背景圖片 必須符合 width = 44/64乎澄,如果不讓背景圖片充滿上面的狀態(tài)欄突硝,就必須是44的。
如果導(dǎo)航條加了背景圖三圆,那坐標(biāo)原點(diǎn)在導(dǎo)航條下方狞换。如果不加避咆,坐標(biāo)原點(diǎn)不變舟肉。
/// 導(dǎo)航欄的封裝
- (void)setItemWithController:(UIViewController *)viewController title:(NSString *)title image:(NSString *)image selectImage:(NSString *)selectImage
{
viewController.tabBarItem.title = title;
viewController.tabBarItem.image = [[UIImage imageNamed:image] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
viewController.tabBarItem.selectedImage = [[UIImage imageNamed:selectImage] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
viewController.tabBarItem.imageInsets = UIEdgeInsetsMake(5, 0, -5, 0);
NSDictionary *attributes = @{NSForegroundColorAttributeName:[UIColor orangeColor]};
[viewController.tabBarItem setTitleTextAttributes:attributes forState:UIControlStateSelected];
GJFNavigatuonController *nvc = [[GJFNavigatuonController alloc]initWithRootViewController:viewController];
nvc.navigationBar.barTintColor = [UIColor orangeColor];
[self addChildViewController:nvc];
}
//注意: 界面原點(diǎn)在哪兒
// 導(dǎo)航中加了背景圖, 原點(diǎn)導(dǎo)航下方
// 沒有加背景圖, 導(dǎo)航條半透明, 原點(diǎn)屏幕左上角
UILabel *testLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
testLabel.text = @"test";
testLabel.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:testLabel];
self.view.backgroundColor = [UIColor redColor];
//設(shè)置導(dǎo)航條
// self表示當(dāng)前界面
// self.navigationController 當(dāng)前界面所在導(dǎo)航控制器
//參數(shù)2: 表示導(dǎo)航條狀態(tài)(橫屏, 豎屏)
//注意: 圖片兩種大小
// 如果高度44, 只顯示在導(dǎo)航欄區(qū)域
// 如果高度64, 擴(kuò)展到狀態(tài)欄
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"header_bg.png"] forBarMetrics:UIBarMetricsDefault];
//設(shè)置導(dǎo)航條上的控件
//注意: 每個(gè)視圖控制器有屬性 self.navigationItem
// 每個(gè)界面self.navigationItem, 導(dǎo)航條顯示item中數(shù)據(jù)
//設(shè)置標(biāo)題
self.title = @"Main界面";
self.navigationItem.title = @"主界面";
//注意: 添加不同顏色, 不同字體的title
// 創(chuàng)建Label設(shè)置為self.navigationItem.titleView
//設(shè)置標(biāo)題為為圖片
// 類型: UIView *
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 60, 35)];
imageView.image = [UIImage imageNamed:@"logo_title.png"];
self.navigationItem.titleView = imageView;
//導(dǎo)航條左側(cè)添加按鈕
//UIBarButtonItem常見3種(系統(tǒng)樣式,自定義,文本)
//UIBarButtonItem *textItem = [[UIBarButtonItem alloc] initWithTitle:@"分類" style:UIBarButtonItemStylePlain target:self action:@selector(dealConfig:)];
//UIBarButtonItem *systemItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(dealConfig:)];
//自定義按鈕
UIButton *configButton = [UIButton buttonWithType:UIButtonTypeCustom];
configButton.frame = CGRectMake(0, 0, 45, 30);
[configButton setBackgroundImage:[UIImage imageNamed:@"main_left_nav.png"] forState:UIControlStateNormal];
[configButton addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *custumItem = [[UIBarButtonItem alloc] initWithCustomView:configButton];
self.navigationItem.leftBarButtonItem = custumItem;
UIButton *photoButton = [UIButton buttonWithType:UIButtonTypeCustom];
photoButton.frame = CGRectMake(0, 0, 45, 30);
[photoButton setBackgroundImage:[UIImage imageNamed:@"main_right_nav.png"] forState:UIControlStateNormal];
[photoButton addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView:photoButton];
self.navigationItem.rightBarButtonItem = rightItem;
//添加一個(gè)按鈕, 打開新的界面
__weak typeof (self) ws = self;
//__weak MainViewController* ws = self;
[self.view addSystemButtonWithFrame:CGRectMake(100, 100, 100, 30) title:@"新界面" action:^(ZTButton *button) {
CategoryViewController *cvc = [[CategoryViewController alloc] init];
//打開新界面
[ws.navigationController pushViewController:cvc animated:YES];
}];
//顯示工具欄
//導(dǎo)航控制器默認(rèn)有一個(gè)工具欄, 默認(rèn)隱藏
self.navigationController.toolbarHidden = YES;
//添加按鈕
//
UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:nil action:nil];
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:nil action:nil];
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:nil action:nil];
//創(chuàng)建空白item
//UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *spaceCustumItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
spaceCustumItem.width = 100;
self.toolbarItems = @[item1,spaceCustumItem,item2,spaceCustumItem,item3]