Próbuję dodać efekt rozmycia do paska nawigacji i paska stanu. Moim problemem jest to, że rozmycie idzie dobrze na pasek nawigacji, ale pasek stanu nie rozmywa się.iOS 8 - Zastosuj rozmycie na pasku nawigacji ORAZ pasek stanu
Moje pytanie brzmi: jak mogę rozszerzyć zakres, aby objąć pasek stanu?
używam następujące metody, aby stworzyć efekt rozmycia:
- (void) addBlurEffect {
CGRect bounds = self.navigationController.navigationBar.bounds;
UIVisualEffectView *visualEffectView = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]];
visualEffectView.frame = bounds;
visualEffectView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.navigationController.navigationBar addSubview:visualEffectView];
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
[self.navigationController.navigationBar sendSubviewToBack:visualEffectView];
}
W moim plist, mam View kontrolera opartego na wygląd paska stanu YES
W viewDidLoad Nazywam metodę:
- (void)configureView {
// style controls
self.addAirportButton.tintColor = [UIColor whiteColor];
// style background image
UIImageView *sidebarBackground = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"sidebarBackground"]];
self.tableView.backgroundView = sidebarBackground;
// style navigation bar
self.navigationController.navigationBar.barStyle = UIStatusBarStyleLightContent;
// this makes navigation bar transparent
[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
// style toolbar
self.navigationController.toolbar.translucent = YES;
self.dismissAdsButton.tintColor = [UIColor whiteColor];
Nic więcej nie zostanie zrobione w viewDidLoad. Kiedy to buduję, oto jak wygląda widok - jest to tableViewController osadzony w kontrolce NavigationController i korzystam z doskonałego kontrolera SWRevealViewController.
Zobacz jak pasek stanu nie jest rozmyty:
Każda pomoc będzie bardzo mile widziana!
AKTUALIZACJA:
Zobacz odpowiedź poniżej. Oto zrzut ekranu z wdrożonego rozwiązania:
Czy próbowałeś nazywając to wszystko z viewWillAppear zamiast viewDidLoad gdy widok ma się pojawić po raz pierwszy? –
Próbowałem, bez zmian, niestety. –