我正在創建一個UITableViewController(位於UINavigationController的根目錄)並在另一個視圖控制器上以模態方式呈現此模型。我有一定程度的工作,這樣當視圖加載和viewDidAppear被調用時,視覺效果看起來不錯。但是在viewDidAppear之後,視覺效果消失了,tableview有一個白色的背景。UIVisualEffectView on UITableView background
在我提出的UITableViewController,我在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;
}
我也實現了這一點,以確保電池有一個明確的背景:
- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
if (NSClassFromString(@"UIVisualEffectView")) {
cell.backgroundColor = [UIColor clearColor];
}
}
我還設置在cell.backgroundColor = [UIColor clearColor]
tableView的cellForRowAtIndexPath:
但這也沒有幫助。
同樣,當視圖加載時我會得到正確的效果,但一旦它出現在屏幕上,它就會丟失模糊背景。任何想法可能會出錯?我也試圖在我的視圖控制器中保留blueEffectView作爲一個屬性,但沒有運氣
你有解決問題的辦法嗎?我想我有同樣的問題。在設置BackgroundView'tableView.backgroundView'後,我有一個淺灰色的BackgroundView **,沒有任何模糊效果。 – Stone 2014-09-30 14:21:27
@石嗨,我得到了同樣的問題。你有什麼想法嗎? – 2015-01-26 07:02:19
@Wongzigii不幸沒有。仍然無解。 – Stone 2015-02-03 18:29:56