Ios setNavigationBar半透明向下推视图

Ios setNavigationBar半透明向下推视图,ios,objective-c,uinavigationbar,Ios,Objective C,Uinavigationbar,我有一个透明的UINavigationBar视图,下面有一个UITableView约10px。有一个UIImageView,背景中有一个很酷的多边形图像,我正在以视差-y的方式为视图转换设置动画 以下是透明导航条的代码: self.navigationController.navigationBar.shadowImage = [UIImage new]; self.navigationController.navigationBar.translucent = YES; [self.navig

我有一个透明的
UINavigationBar
视图,下面有一个
UITableView
约10px。有一个
UIImageView
,背景中有一个很酷的多边形图像,我正在以视差-y的方式为视图转换设置动画

以下是透明导航条的代码:

self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
我根本没有在这个项目中使用故事板

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

self.navigationController.navigationBar.translucent=YES

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


我可以修改一些框架来弥补这一点,但我想知道是否有更标准的解决方案。

要设置的属性是
ExtendedLayoutCludeSopaqueBars
,如果此属性设置为“是”,则视图的布局将与导航栏为半透明时相同


您提到您没有使用故事板,但对于其他这样做的人,可以通过勾选标题为“在不透明条下”的复选框,在视图控制器的“延伸边缘”部分的“属性检查器”中设置此选项。

效果非常好!谢谢@geraldWilliamI我很好奇:为什么你要在你的iOS应用程序中强制Android的布局?你不认为你应该坚持平台风格吗?这是个好问题。我通常支持让应用程序看起来和感觉“原生”。然而,在这种情况下,我真的很喜欢我们的设计师为这个应用程序的Android版本设计的UI。在iOS上使用Hangouts或Inbox是一种乐趣,我相信,如果得到适当的关注,这个应用程序的外观和感觉也会很棒。好吧:)。它看起来确实很整洁。也许在数百个应用程序中看到同样的UITabBar后,一些新的外观会让人耳目一新。无意冒犯btw@Cabus-没有冒犯。这是一次很好的讨论。