Sto creando un UITableViewController (nella radice di un UINavigationController) e lo presenta modalmente sopra un altro controller di visualizzazione. Ho funzionato in misura tale che quando si carica la vista e viewDidAppear viene chiamato, l'effetto visivo sembra buono. Ma subito dopo viewDidAppear, l'effetto visivo scompare e la tableview ha uno sfondo bianco.UIVisualEffectView su UITableView background
Nella mia presentato UITableViewController, ho aggiunto questo viewDidLoad:
if (NSClassFromString(@"UIVisualEffectView") && !UIAccessibilityIsReduceTransparencyEnabled()) {
self.tableView.backgroundColor = [UIColor clearColor];
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
[blurEffectView setFrame:self.tableView.frame];
self.blurView = blurEffectView;
self.tableView.backgroundView = self.blurView;
}
ho anche implementare questo, per assicurarsi che le cellule hanno uno sfondo chiaro:
- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
if (NSClassFromString(@"UIVisualEffectView")) {
cell.backgroundColor = [UIColor clearColor];
}
}
Ho anche impostato il cell.backgroundColor = [UIColor clearColor]
in TableView cellForRowAtIndexPath:
ma questo non aiuta neanche.
Ancora una volta, ottengo l'effetto corretto quando la vista viene caricata, ma perde lo sfondo sfocato non appena appare sullo schermo. Qualche idea su cosa potrebbe andare storto? Ho anche cercato di mantenere la blueEffectView come una proprietà a mio controller della vista, ma senza fortuna
avete una soluzione per il problema? Penso di avere lo stesso problema. Dopo aver impostato il BackgroundView 'tableView.backgroundView' ho uno sfondo grigio chiaro ** senza ** nessun effetto sfocato. – Stone
@Stone ciao, ho avuto lo stesso problema. Hai qualche idea? –
@Wongzigii sfortunatamente no. ancora nessuna soluzione. – Stone