在我提出的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]; }}
我还在tableVIEw的cellForRowAtIndexPath中设置了cell.backgroundcolor = [UIcolor clearcolor]:但这也无济于事.
同样,我在视图加载时获得了正确的效果,但是一旦它出现在屏幕上,它就会失去模糊背景.什么想法可能会出错?我还尝试将blueEffectVIEw保留为视图控制器中的属性,但没有运气
解决方法 问题是,当您使用默认设置以模态方式呈现视图控制器时,一旦完成接管屏幕,基础视图控制器似乎基本上被擦除.这就是为什么在演示动画完成之前,模糊效果看起来很棒 – 底层视图消失了.要实现所需的行为,您需要将segue表示样式更改为保留基础视图控制器的内容,例如Over Over Screen而不是默认的Full Screen.
请注意,当您关闭此模式演示文稿时,将不会在呈现视图控制器上调用vIEwDIDAppear,因为它现在始终可见.如果您依靠该方法在解雇时执行任何功能,那可能会让您感到困惑.
总结以上是内存溢出为你收集整理的UITableualEffectView在UITableView背景上全部内容,希望文章能够帮你解决UITableualEffectView在UITableView背景上所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)