我正在尝试使我的导航栏变得完全透明,这样UINavigationButtonItems就只可见,背景(通常是白色)应该显示背景图像。
我尝试了以下方法:
HomeNavigationController *navBar = [[HomeNavigationController alloc] initWithRootViewController:self.myViewController];
[navBar.navigationBar setBarTintColor:[UIColor clearColor]];
[navBar.navigationBar setTranslucent:YES];
虽然两者都似乎无法正常工作。
编辑:
使用
[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
self.navigationController.view.backgroundColor = [UIColor clearColor];
我可以看到它按预期工作,但是项目现在也是不可见的。
最终编辑:啊,上面的代码确实有效,只要在测试之前不应用其他外观更改即可!
实际执行预期操作的代码:
[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
forBarMetrics:UIBarMetricsDefault];
或者你可以设置一个透明的图片,但这样做没有太多意义。如果你不想有表示边框的线,请使用原始编辑中显示的其余代码。
UIButtons
替代UIBarButtonItems
呢? iOS 7之后,UINavigationBars
、UITabBars
和UIToolbars
的外观发生了变化,使得调整它们的透明度变得更加困难,而且可能不建议这样做。 - Vinod Vishwanath