美文网首页
印象深刻的bug:使用xib做为tableHeaderView,

印象深刻的bug:使用xib做为tableHeaderView,

作者: 十一岁的加重 | 来源:发表于2017-10-28 18:09 被阅读18次

    目前已经解决,过程相当诡异。之前用Xcode8.3.2是正常的,后面升级到Xcode9好像就不正常了。
    结论:
    iOS9之前需要在包一层view,然后设置高度时,不能直接

    self.tableView.tableHeaderView.height = 1214.7;
    

    你得类似这样设置height:

    UIView *headerV = self.tableView.tableHeaderView;
    CGRect *headerF = headerV.frame;
    headerF.size.height = 1214.7;
    headerF.size.width = kScreenW;
    headerV.frame = headerF;
    headerV.subviews[0].frame = headerF;
    self.tableView.tableHeaderView = headerV;
    

    iOS9以后呢,不用包这一层view了,在设置高度时,直接

    self.tableView.tableHeaderView.height = 1214.7;
    

    同时还得在viewDidLayoutSubvies里设置这个高度。

    - (void)viewDidLayoutSubviews {
     [super viewDidLayoutSubvies];
    /// 这里可以用个变量存这个高度,不过我们正确的做法就是在这个时机设置frame而非viewDidLoad方法中
    self.tableView.tableHeaderView.height = 1214.7;
    }
    
    

    相关文章

      网友评论

          本文标题:印象深刻的bug:使用xib做为tableHeaderView,

          本文链接:https://www.haomeiwen.com/subject/exyspxtx.html