您的位置:首页 > 移动开发 > IOS开发

IOS7导航条与状态栏的那些事儿

2015-08-24 18:22 295 查看
改变状态栏文字的颜色

项目需要将状态栏的文字颜色设置为白色,以下方法即可:

在 Info.plist 中设置’View controller-based status bar appearance’ 为 NO;

在AppDelegate 中添加:

[code][[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];




[code]- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
   ......
   ...
}


设置导航栏的背景图片

原由:

1、背景颜色实现不了所需要的效果(你所需要实现效果的图片)

2、实现导航栏的透明(需要一张透明图片)

以上两者都可以通过设置背景图片来实现,可以利用NavigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics方法将图片填充NavigationBar的背景。

准备:

全通道全透明的图片一张,规格:64px*1px 或 1px *1px

实现方法一:

[code]//导航栏背景
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"图片"] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;


注:

其中UIBarMetricsDefault指的是手机竖直方向的NavigationBar,另外一个常用的UIBarMetricsLandscapePhone指的是手机横向的NavigationBar。

实现方法二:

[code] //导航栏背景
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"图片"] forBarMetrics:UIBarMetricsDefault];

    //导航栏底部线
    self.navigationController.navigationBar.shadowImage =[UIImage imageNamed:@"图片"];


重写navigationController的back方法

情景描述:由***iew ->BView ,想要对B返回A的按钮进行操作,可行方式—>back重写

实现方式一:

在BView的NavigationItem自定义一个LeftBarButtonItem,实现返回导航操作。代码可参考:

[code]UIBarButtonItem *barButtonItemLeft=[[UIBarButtonItem alloc] initWithTitle:@"返回主页" style:UIBarButtonItemStyleBordered target:self action:@selector(NavigationToMainView)];
[[self navigationItem] setLeftBarButtonItem:barButtonItemLeft];


实现方式二:

在***iew中,设置返回按钮自定义样式。具体代码可参考:

[code]UIBarButtonItem *backItem=[[UIBarButtonItem alloc]init];
    backItem.title=@"";
    backItem.image=[UIImage imageNamed:@""];
self.navigationItem.backBarButtonItem=backItem;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: