setNavigationBar半透明推送视图

d2b*_*rke 4 objective-c uinavigationbar ios

我有一个透明的视图UINavigationBarUITableView它下面约10px的.有一个UIImageView与我正在动画在视图过渡的视差-Y方式的背景下冷静的多边形图像.

这是透明导航栏的代码:

self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

我根本没有在这个项目中使用故事板

我还在右下角有一个浮动动作按钮.UILabel我添加到其中的导航栏标题在点击右侧导航按钮时titleView被替换UITextField为搜索功能.当发生这种情况时,我正在设置

self.navigationController.navigationBar.translucent = YES;

这一切都很有效,除了通过设置translucent = NO视图将所有内容按向导栏的高度向下推.

在此输入图像描述 搜索模式

我可以将一些帧变化合并到一起以弥补这一点,但我想知道是否有更标准的练习解决方案.

ger*_*iam 12

要设置的属性是extendedLayoutIncludesOpaqueBars,如果此属性设置为YES,那么您的视图将布局相同,就像导航栏是半透明的一样.

您提到您没有使用故事板,但是对于其他人来说,可以通过勾选标题为"Under Opaque Bars"的复选框,在"Extend Edges"部分下的视图控制器的Attributes Inspector中设置.