UINavgationController技巧

UINavigationBarUINavigationItem是iOS开发中常用的控件。
 

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是黑色不透明。UIBarStyleBlackOpaqueUIBarStyleBlackTranslucent这两个已经废弃了。

如果想设置导航栏透明,可以加上下面这句代码:

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;

你可能感兴趣的:(UINavgationController技巧)