我正在创建一个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