Closed iamkata closed 3 years ago
我在你们的Demo中给tableView添加了内边距
- (void)example01 { __weak __typeof(self) weakSelf = self; //添加内边距 self.tableView.contentInset = UIEdgeInsetsMake(0, 20, 0, 30); MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ [weakSelf loadNewData]; }]; header.backgroundColor = [UIColor systemPinkColor]; self.tableView.mj_header = header; // 马上进入刷新状态 [self.tableView.mj_header beginRefreshing]; self.tableView.backgroundColor = [UIColor yellowColor]; }
你们的代码MJRefreshComponent.m里面:
self.mj_w = _scrollView.mj_w; //屏幕宽度 self.mj_x = -_scrollView.mj_insetL; // -20
所以这就导致我的mj_header是这样的,如下图:
我想,如果改成: 方式1:
self.mj_w = _scrollView.mj_w; self.mj_x = 0;
效果如下:
或者方式2:
self.mj_w = _scrollView.mj_w +_scrollView.mj_insetL + _scrollView.mj_insetR; self.mj_x = -_scrollView.mj_insetL;
方式1是不是会更好,我不知道这是不是bug,也许是我没弄明白代码误解了,说的不对的请批评指教。
这种情况自定义一下 Header. 因为根据需求不同, 实现也略有不同的.
自定义的话, 你需求什么就自己写一下.
override func placeSubviews() { super.placeSubviews() // 在这里自定义 ... }
我在你们的Demo中给tableView添加了内边距
你们的代码MJRefreshComponent.m里面:
所以这就导致我的mj_header是这样的,如下图:
我想,如果改成: 方式1:
效果如下:
或者方式2:
效果如下:
方式1是不是会更好,我不知道这是不是bug,也许是我没弄明白代码误解了,说的不对的请批评指教。