我不希望状态栏消失。我只是希望导航栏的高度为 64 像素而不是 44。这可能吗?
最佳答案
这是我用来向状态栏和导航栏添加模糊 View 的代码,我给出了 CGRect frame= CGRectMake(0, -20, 1000, 64);
以便模糊导航栏上的 View 也覆盖状态栏。为此,我将Y坐标指定为-20。您可以将此模糊 View 替换为您想要的任何uiview,从而用导航栏覆盖状态栏。另外,我根据您的要求将导航栏的高度指定为 64。
CGRect bounds = self.navigationController.navigationBar.bounds;
UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
CGRect frame= CGRectMake(0, -20, 1000, 65);
visualEffectView.frame = frame;
visualEffectView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.navigationController.navigationBar addSubview:visualEffectView];
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
[self.navigationController.navigationBar sendSubviewToBack:visualEffectView];
关于ios - 如何展开 UINavigationBar 以覆盖状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35547279/