ios – 重新加载时停止透明的UITableView部分标题闪烁

ios – 重新加载时停止透明的UITableView部分标题闪烁,第1张

概述我遇到了一个奇怪的视觉故障,重新加载我的UITableView的一部分导致半透明标题视图(alpha = 0.25)闪烁一下,就好像它是在旧的顶部上添加另一个标题视图副本然后删除前一个. 我的标题视图本身是一个动态生成的UIImageView,但是我把它简化为只有一个带有[[UIColor blackColor] colorWithAlphaComponent:0.25]的backgroundCo 我遇到了一个奇怪的视觉故障,重新加载我的UItableVIEw的一部分导致半透明标题视图(Alpha = 0.25)闪烁一下,就好像它是在旧的顶部上添加另一个标题视图副本然后删除前一个.

我的标题视图本身是一个动态生成的UIImageVIEw,但是我把它简化为只有一个带有[[UIcolor blackcolor] colorWithAlphaComponent:0.25]的backgroundcolor的UIVIEw,它仍然表现出问题:

- (UIVIEw *)tableVIEw:(UItableVIEw *)tableVIEw vIEwForheaderInSection:(NSInteger)section {    UIVIEw* vIEw = [[UIVIEw alloc] initWithFrame:CGRectMake(0,tableVIEw.wIDth,kModPopheaderHeight)];    vIEw.backgroundcolor = [[UIcolor blackcolor] colorWithAlphaComponent:0.25];    vIEw.opaque = NO;    return vIEw;}

如你所见,我将NO设置为不透明,但这没有任何效果.我还尝试保留一个字典,其中包含先前生成的视图的索引,并返回现有视图(如果它已经被创建)(以测试我的理论显示两个视图重叠),但这也令人惊讶地没有效果.它无论如何闪烁.

请注意,如果我将标题的Alpha设置为1.0,则没有视觉故障,因此它显然与透明度有关.它也不会发生在每次点击(重新加载),但大多数.我只是无法弄清楚我需要改变什么才能让它正确绘制.任何意见,将不胜感激.

解决方法 好吧,基于我保留现有headerVIEws索引的想法,我实际上自己设法解决了这个问题.我第一次尝试的是调用[existingVIEw removeFromSupervIEw],但这根本不起作用.

相反,我将它改为existingVIEw.hIDden = YES,闪烁的神奇地消失了!你去吧虽然我无法解释为什么这样做并且removeFromSupervIEw没有,但如果其他人遇到此问题,请尝试在返回新视图之前隐藏现有视图.

总结

以上是内存溢出为你收集整理的ios – 重新加载时停止透明的UITableView部分标题闪烁全部内容,希望文章能够帮你解决ios – 重新加载时停止透明的UITableView部分标题闪烁所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1024600.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存