一个隐藏性很高的bug

一,bug出现的条件:

1.在同一个中xi b建立controller的view和它的tableHeaderView,

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [IQKeyboardManager sharedManager].enable = NO;
 //这里赋值tableHeaderView   
    [self updateHeaderViewSite];
}

二,bug 出现的状况:

一进来,发现tableHeaderView没有满屏幕宽(其实是正常的,因为一开始设置的tableHeaderView就是比屏幕小),然后一会之后,突然闪了一下,就满屏了

三,bug的解决

写到viewWillAppear里就好了

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:YES];
    [self setUpHeaderViewUI];
    [self setUpUI];
    [self updateHeaderViewSite];
    
}

四,这个bug的难点

  1. 时间短
  2. 容易误导,以为是布局没有设好,
  3. 小屏幕不容易出现这个bug(因为,tableHeaderView的初始宽比小屏幕大)
  4. 跟机器的硬件性能,缓存都有可能有关
    5,最大的误导是既然原因跟“迟到”赋tableHeaderView有关,那么为什么一开始,居然有(也就是说没有“迟到”赋tableHeaderView,只是不满屏,难道跟xib的缓存有关)

你可能感兴趣的:(一个隐藏性很高的bug)