我有一个问题,这是由状态栏隐藏然后重新出现引起的 - 这样做会将导航栏的位置从显示在状态栏下方更改为显示在其后面。即导航栏的顶部不再可见,因为状态栏在它的顶部。
我的程序是这样构建的,我有一个显示状态栏和导航栏的根 View Controller , View Controller 包含在导航 Controller 中,即
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.myTableViewController];
self.window.rootViewController = navController;
- (void)viewWillAppearBOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden: NO withAnimation: UIStatusBarAnimationFade];
self.navigationController.navigationBar.translucent = NO;
[self.navigationController setNavigationBarHidden:NO animated:YES];
我相信状态栏大约有 20 像素高,所以将导航栏的 origin.y 设置为 20,它应该修复它。我知道这很烦人,但根据我的经验,这似乎是解决它的唯一方法。
当您的应用程序退出后台状态时,还要检查导航栏的位置,我知道我的导航栏在进入前台时会立即恢复到状态栏下方。
关于ios - 如果我隐藏状态栏,然后让它重新出现,那么导航栏的位置就会向上移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9068223/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |