月圆之夜,紫禁之巅,一剑西来,天外飞仙。

0%

iOS学习笔记--iOS 11 导航栏透明设置

1
在项目中做了iOS 11的适配之后发现以前项目中有些地方做了导航栏透明的设置在新系统上失效了。在细查之下发现新系统导航栏的层级结构有所变化。修改方法如下:

iOS 11 以前设置导航栏透明

1
[[self.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 0;

iOS 11 设置导航栏透明

1
2
3
[[[[self.navigationController.navigationBar subviews] objectAtIndex:0] subviews] objectAtIndex:1].alpha = 0;

[[[[[self.navigationController.navigationBar subviews] objectAtIndex:0] subviews] objectAtIndex:0] setHidden:YES];

仅个人见解,如有错误请见谅!