Sto tentando di aggiungere un effetto sfocato a una barra di navigazione e una barra di stato. Il mio problema è che la sfocatura va benissimo sulla barra di navigazione, ma la barra di stato non diventa sfocata.iOS 8 - Applica sfocatura alla barra di navigazione E barra di stato
La mia domanda è: come posso estendere i limiti per comprendere la barra di stato?
sto usando il seguente metodo per creare l'effetto di sfocatura:
- (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];
}
Nel mio plist, mi hanno vista basata su controller barra di stato l'aspetto YES
In viewDidLoad Chiamo un metodo:
- (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];
non viene eseguito altro elemento importante in viewDidLoad. Quando lo costruisco, ecco come appare la vista: è un tavoloViewController incorporato in un NavigationController e sto utilizzando anche l'eccellente SWRevealViewController.
vedere come la barra di stato non è sfocata:
Qualsiasi aiuto sarebbe molto apprezzato!
UPDATE:
Vedere la risposta sotto. Ecco uno screenshot della soluzione implementata:
Hai provato chiamando tutto questo da viewWillAppear invece di viewDidLoad quando la vista è in procinto di apparire per la prima volta? –
L'ho provato, nessun cambiamento, sfortunatamente. –