//状态栏的高度是20,navigationBar的高度是44
//这段代码是在- (void)viewDidAppear:(BOOL)animated这个方法中设置的
//更改导航栏的frame
self.navigationController.navigationBar.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 64); //调整导航栏的标题的位置 [self.navigationController.navigationBar setTitleVerticalPositionAdjustment:-10 forBarMetrics:UIBarMetricsDefault]; //调整导航栏的图片的位置 [self.navigationItem.leftBarButtonItem setBackgroundVerticalPositionAdjustment:-10 forBarMetrics:UIBarMetricsDefault];
[self.navigationItem.rightBarButtonItem setBackgroundVerticalPositionAdjustment:-10 forBarMetrics:UIBarMetricsDefault];
//- (void)viewWillDisappear:(BOOL)animated在这个方法中要把之前的位置调整重新调回来
//把调整的位置重新改回来 标题不用在重新调整
[self.navigationController.navigationBar setTitleVerticalPositionAdjustment:0 forBarMetrics:UIBarMetricsDefault];
[self.navigationItem.leftBarButtonItem setBackgroundVerticalPositionAdjustment:0 forBarMetrics:UIBarMetricsDefault];
[self.navigationItem.rightBarButtonItem setBackgroundVerticalPositionAdjustment:0 forBarMetrics:UIBarMetricsDefault];
//这个设置navigationBar的frame 在程序从后台进入前台的通知方法,需要重新设置navigationBar的frame
//用通知就可以实现
- (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.// NSLog(@"applicationDidBecomeActive"); //重后台进入前台的时候,通知 扫面界面 重新计算 一下 navigationbar的frame [[NSNotificationCenter defaultCenter]postNotificationName:@"applicationWillEnterForeground" object:nil];
}
//然后,程序从后台进入前台的时候,接收到通知, 来重新设置navigationBar的frame
//当然,从这个界面跳转到其他的界面,在从其他界面返回到这个界面的时候,需要在其他界面的返回之前,做下面一步操作,来解决返回到这个界面的时候,图标跳闪的问题
//调整导航栏的图片的位置 [self.navigationItem.leftBarButtonItem setBackgroundVerticalPositionAdjustment:10 forBarMetrics:UIBarMetricsDefault];
[self.navigationItem.rightBarButtonItem setBackgroundVerticalPositionAdjustment:10 forBarMetrics:UIBarMetricsDefault];
在隐藏掉状态栏后,重新设置navigationbar的frame
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 【蝴蝶效应】 蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶...