UINavigationBar`和`UINavigationItem`是iOS開發中常用的控件。今天給大家介紹一下六個關于導航欄的小技巧。
1.設置導航欄標題
self.title=@"iOS開發:iOSDevTip";
2.設置導航欄樣式
設置方法:
[self.navigationController.navigationBarsetBarStyle:UIBarStyleBlack];
`UIBarStyle`的樣式:
typedefNS_ENUM(NSInteger,UIBarStyle){
UIBarStyleDefault =0,
UIBarStyleBlack =1,
UIBarStyleBlackOpaque =1,//Deprecated.UseUIBarStyleBlack
UIBarStyleBlackTranslucent=2,//Deprecated.UseUIBarStyleBlackandsetthetranslucentpropertytoYES
};
`UIBarStyleDefault`是默認樣式,`UIBarStyleBlack`是黑色不透明。`UIBarStyleBlackOpaque`和`UIBarStyleBlackTranslucent`這兩個已經廢棄了。
如果想設置導航欄透明,可以加上下面這句代碼:
self.navigationController.navigationBar.translucent=YES;
3.修改返回按鈕title
self.navigationItem.title=@"test";
4.隱藏返回按鈕title
比較笨的方法是:
self.navigationItem.title=@"";
還可以這樣設置:
[[UIBarButtonItemappearance]setBackButtonTitlePositionAdjustment:UIOffsetMake(0,-60)forBarMetrics:UIBarMetricsDefault];
5.設置leftBarButtonItem
self.navigationItem.leftBarButtonItem=[[UIBarButtonItemalloc]initWithTitle:@"back"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(back:)];
-(void)back:(id)sender
{
[self.navigationControllerpopViewControllerAnimated:YES];
}
6.左滑返回手勢失效了怎么辦
如果按上一步設置`leftBarButtonItem`之后,左滑返回手勢就會失效。設置一下`UIGestureRecognizerDelegate`代理即可:
self.navigationController.interactivePopGestureRecognizer.delegate=self;