Ios 重新加载时停止透明UITableView节标题闪烁
我遇到了一个奇怪的视觉故障,即重新加载我的Ios 重新加载时停止透明UITableView节标题闪烁,ios,objective-c,uitableview,alpha-transparency,Ios,Objective C,Uitableview,Alpha Transparency,我遇到了一个奇怪的视觉故障,即重新加载我的UITableView的一部分会导致半透明标题视图(alpha=0.25)短暂地变暗,就好像它在旧标题视图的顶部添加了另一个标题视图副本,然后删除了前一个 我的标题视图本身是动态生成的UIImageView,但是我将其简化为UIView,背景色为[[UIColor blackColor]colorWithAlphaComponent:0.25],它仍然存在以下问题: - (UIView *)tableView:(UITableView *)tableVi
UITableView
的一部分会导致半透明标题视图(alpha=0.25)短暂地变暗,就好像它在旧标题视图的顶部添加了另一个标题视图副本,然后删除了前一个
我的标题视图本身是动态生成的UIImageView
,但是我将其简化为UIView
,背景色为[[UIColor blackColor]colorWithAlphaComponent:0.25]
,它仍然存在以下问题:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0,0,tableView.width, kModPopHeaderHeight)];
view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.25];
view.opaque = NO;
return view;
}
如您所见,我将不透明
设置为否
,但这没有任何效果。我还尝试在小节上保留一个先前生成的视图的字典,如果已经创建了,则返回现有视图(以测试我的理论,它显示了两个视图重叠),但这也出人意料地没有效果。不管怎样,它都会闪烁
请注意,如果我将标题的alpha设置为
1.0
,则不会出现视觉故障,因此它显然与透明度有关。并不是每次点击(重新加载)都会发生这种情况,但大多数情况下都会发生。我只是想不出我需要改变什么才能让它画好。如果您有任何建议,我们将不胜感激。好的,基于我保留现有headerViews索引的想法,我实际上自己解决了这个问题。我第一次尝试的是调用[existingView removeFromSuperview]
,但根本不起作用
相反,我将它改为existingView.hidden=YES
,闪烁的声音神奇地消失了!好了。虽然我无法解释为什么这样做有效,而removeFromSuperview
没有,但如果其他人遇到此问题,请尝试在返回新视图之前隐藏现有视图