如何扩展UINavigationBar以覆盖状态栏?

时间:2016-02-22 06:42:25

标签: ios swift

我不希望状态栏消失。我只是希望导航栏为64px而不是44.这可能吗?

1 个答案:

答案 0 :(得分:0)

这是我用于向状态栏和导航栏添加模糊视图的代码,我已经给出了CGRect frame= CGRectMake(0, -20, 1000, 64);,因此导航栏上的模糊视图也包含状态栏。为此,我将 Y Co-Ordinate 指定为 -20 。您可以使用所需的任何 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];