- 改变状态栏文字的颜色
项目需要将状态栏的文字颜色设置为白色,以下方法即可:
- 在 Info.plist 中设置’View controller-based status bar appearance’ 为 NO;
- 在AppDelegate 中添加:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
至
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
......
...
}
- 设置导航栏的背景图片
原由:
1、背景颜色实现不了所需要的效果(你所需要实现效果的图片)
2、实现导航栏的透明(需要一张透明图片)
以上两者都可以通过设置背景图片来实现,可以利用NavigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics方法将图片填充NavigationBar的背景。
准备:
全通道全透明的图片一张,规格:64px*1px 或 1px *1px
实现方法一:
//导航栏背景
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"图片"] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
注:
其中UIBarMetricsDefault指的是手机竖直方向的NavigationBar,另外一个常用的UIBarMetricsLandscapePhone指的是手机横向的NavigationBar。
实现方法二:
//导航栏背景
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"图片"] forBarMetrics:UIBarMetricsDefault];
//导航栏底部线
self.navigationController.navigationBar.shadowImage =[UIImage imageNamed:@"图片"];
- 重写navigationController的back方法
情景描述:由AView ->BView ,想要对B返回A的按钮进行操作,可行方式—>back重写
实现方式一:
在BView的NavigationItem自定义一个LeftBarButtonItem,实现返回导航操作。代码可参考:
UIBarButtonItem *barButtonItemLeft=[[UIBarButtonItem alloc] initWithTitle:@"返回主页" style:UIBarButtonItemStyleBordered target:self action:@selector(NavigationToMainView)];
[[self navigationItem] setLeftBarButtonItem:barButtonItemLeft];
实现方式二:
在AView中,设置返回按钮自定义样式。具体代码可参考:
UIBarButtonItem *backItem=[[UIBarButtonItem alloc]init];
backItem.title=@"";
backItem.image=[UIImage imageNamed:@""];
self.navigationItem.backBarButtonItem=backItem;