iOS将edgesForExtendedLayout设置为UIRectEdgeNone后,设置透明导航栏不工作

iOS将edgesForExtendedLayout设置为UIRectEdgeNone后,设置透明导航栏不工作,ios,uinavigationbar,Ios,Uinavigationbar,正如标题所说,在我使用self.edgesForExtendedLayout=UIRectEdgeNone,, 我想将导航栏设置为透明。我使用的代码如下: [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navigationC

正如标题所说,在我使用
self.edgesForExtendedLayout=UIRectEdgeNone,,
我想将导航栏设置为透明。我使用的代码如下:

[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                                              forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
self.navigationController.navigationBar.shadowImage = [UIImage new];
但它不起作用。导航栏显示为黑色。如何使导航栏透明


您正在为导航栏设置一个坚实的背景图像,那么为什么您认为之后它会是透明的呢?此外,iOS7和iOS8上的此功能也不同,因为在iOS8上透明导航栏是默认的。@ClausJørgensen它不是实心背景图像,如果我注释
self.edgesForExtendedLayout=UIRectEdgeNone,这将是完全透明的。但该视图将显示在导航栏下。您确实需要指定正在使用的iOS版本。你刚才所说的对于iOS8是不正确的。你正在为导航栏设置一个坚实的背景图像,那么为什么你会认为它在之后是透明的呢?此外,iOS7和iOS8上的此功能也不同,因为在iOS8上透明导航栏是默认的。@ClausJørgensen它不是实心背景图像,如果我注释
self.edgesForExtendedLayout=UIRectEdgeNone,这将是完全透明的。但该视图将显示在导航栏下。您确实需要指定正在使用的iOS版本。你刚才说的对iOS8来说不是真的。