Я пытаюсь, чтобы моя панель навигации стала на 100% прозрачной, так что UINavigationButtonItems видны только, а фон (обычно белый) должен показывать фоновое изображение.UINavigationController прозрачность?
Я попытался
HomeNavigationController *navBar = [[HomeNavigationController alloc] initWithRootViewController:self.myViewController];
[navBar.navigationBar setBarTintColor:[UIColor clearColor]];
[navBar.navigationBar setTranslucent:YES];
хотя ни как на работу.
EDIT:
Использование
[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];
Я вижу, что он работал, как и ожидалось, однако детали теперь невидимы.
FINALEDIT: Ах код выше работает, просто убедитесь, что вы не применять какие-либо другие изменения внешнего вида без проверки первого!
код, который на самом деле делает то, что предназначено:
[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
forBarMetrics:UIBarMetricsDefault];
В качестве альтернативы вы можете установить прозрачное изображение, но это имеет смысл. Вам понадобится остальная часть кода, показанная в исходном правлении, если вы не хотите, чтобы строка представляла границу.
вы могли бы попробовать [navBar.navigationBar setTintColor: [UIColor colorWithWhite: 1,0 альфа: 0,0]; – user2277872
Смотрите это: http://stackoverflow.com/questions/21850622/transparent-uinavigationbar/21850947#21850947, возможно, поможет u. –
Если вам нужно, чтобы ваш UINavigationBar был полностью прозрачным, то почему бы не скрыть его вообще и использовать пользовательские 'UIButtons' вместо' UIBarButtonItems'? Появление 'UINavigationBars',' UITabBars' и 'UIToolbars' изменилось с iOS 7, что усложнило и, вероятно, нецелесообразно возиться с их прозрачностью. –