iOS开发如何轻松搞定导航栏

浏览:1388 发布日期:2015/11/16 分类:技术分享
在iOS开发中,如果能善用UINavigationBar 和 UINavigationItem这两个控件,那么设置导航栏将会变得容易许多,下面就来看看这两个控件怎么使用吧。

1.设置导航栏标题
self.title = @"iOS开发:iOSDevTip";
2.设置导航栏样式
设置方法:
[self.navigationController.navigationBar setBarstyle:UIBarstyleBlack];

UIBarstyle 的样式:

typedef NS_ENUM(NSInteger, UIBarstyle) {
UIBarstyleDefault = 0,
UIBarstyleBlack = 1,
UIBarstyleBlackOpaque = 1, // Deprecated. Use UIBarstyleBlack
UIBarstyleBlackTranslucent = 2, // Deprecated. Use UIBarstyleBlack and set the translucent property to YES
};

UIBarstyleDefault 是默认样式,UIBarstyleBlack 是黑色不透明。UIBarstyleBlackOpaque 和 UIBarstyleBlackTranslucent 这两个已经废弃了。

如果想设置导航栏透明,可以加上下面这句代码:
self.navigationController .navigationBar.translucent = YES;
3.修改返回按钮title
self.navigationItem.title = @"test";
4.隐藏返回按钮title
比较笨的方法是:
self.navigationItem.title = @"";
还可以这样设置:
[[UIBarButtonItem appearance] setBackButtontitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
5.设置leftBarButtonItem
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithtitle:@"back" style:UIBarButtonItemstylePlain target:self action:@selector(back:)];

- (void)back:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
}
6.左滑返回手势失效了怎么办
如果按上一步设置 leftBarButtonItem 之后,左滑返回手势就会失效。设置一下 UIGestureRecognizerDelegate 代理即可:

self.navigationController.interactivePopGestureRecognizer.delegate = self;

以上便是iOS开发中设置导航栏的一些小技巧。

http://yuantuan.com
最佳答案
评论( 相关
后面还有条评论,点击查看>>