美文网首页
DZNEmptyDataSet使用遇到的问题

DZNEmptyDataSet使用遇到的问题

作者: 无去_b4d3 | 来源:发表于2018-01-28 22:05 被阅读0次

    1,当collectionview设置的有inset的时候,如果collectionview向上滑动一段距离,也就是contentoffset很大的时候,然后刷新collectionview,如果刷新后的contentsize小于一个屏幕的高度,EmptyDataSet的内容会出现位置变动

    通过查看视图层次结构,发现EmptyDataSetview的顶部距离scrollview的顶部有一段距离,并且距离并不固定(视更新前后的contentsize而定),然后翻看源码,在它更新约束的地方,重新设置EmptyDataSetview的约束,使其位置正确

    // Configure empty dataset fade in display

            view.fadeInOnDisplay = [self dzn_shouldFadeIn];

    //        UIScrollView *scroll = (UIScrollView *)self.superview;

            [self.emptyDataSetView mas_updateConstraints:^(MASConstraintMaker *make) {

                make.top.equalTo(self).offset(-self.contentInset.top);

                make.left.equalTo(self);

                make.width.equalTo(self.mas_width);

                make.height.equalTo(self.mas_height);

            }];

            [view setupConstraints];

            [UIView performWithoutAnimation:^{

                [view layoutIfNeeded];

            }];

    上边代码是框架中- (void)dzn_reloadEmptyDataSet 的代码

    在  [view setupConstraints](它给内部视图重新设置约束之前),用masonry给自己更新约束

    1月29日更新

    但是今天发现项目中有使用mj的下拉刷新,mj会改变scrollview的contentinset,所以这种发放就不行了,于是给scrollview设置了一个header,不适用上边的方法,解决了问题

    相关文章

      网友评论

          本文标题:DZNEmptyDataSet使用遇到的问题

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