我的视图中有一个透明的UINavigationBar
和一个UITableView
,大约低于10px。有一个UIImageView
在背景中有一个很酷的多边形图像,我正在以视差方式为视图过渡制作动画。
以下是透明导航栏的代码:
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
我根本没有在这个项目中使用故事板
我右下方还有一个浮动动作按钮。我添加到UILabel
的导航栏标题titleView
会在点击右侧导航按钮时换成UITextField
搜索功能。发生这种情况时,我正在设置
self.navigationController.navigationBar.translucent = YES;
这一切都很有效,除了通过设置translucent = NO
视图将所有内容按向导栏的高度向下推。
我可以将一些框架更改混合起来以弥补这一点,但我想知道是否有更多标准练习解决方案。
答案 0 :(得分:11)
您要设置的属性为extendedLayoutIncludesOpaqueBars
,如果此属性设置为YES,则您的视图将布局相同,就像导航栏是半透明的一样。
您提到您没有使用故事板,但是对于其他人来说,可以通过勾选标题为“Under Opaque Bars”的复选框在“Extend Edges”部分的视图控制器的Attributes Inspector中设置。