JSDBanTangHomeDemo icon indicating copy to clipboard operation
JSDBanTangHomeDemo copied to clipboard

页面稍微有些偏移量(左右方向),界面立即跑到第一行cell

Open Antduo opened this issue 8 years ago • 5 comments

看了下半糖 和其他app,没有这样的问题

Antduo avatar Jan 12 '17 07:01 Antduo

半塘的也是这样的。切换之后到下一个的第一行。当然这个可以自己设置。

JoySeeDog avatar Jan 13 '17 02:01 JoySeeDog

不想要切换之后立马调到第一行,怎么自己设置?

tujinqiu avatar Jan 16 '17 08:01 tujinqiu

你需要记录下每一个tableView的偏移量,然后切换的时候设置就好了。

JoySeeDog avatar Jan 16 '17 08:01 JoySeeDog

这样会有问题吧,比如说A界面的tableView的offset是200,据此计算应该将headerView推上去到看不见 。然后切换到B,此时滑动B的tableView,offset为100,那么此时headerView会有一部分露出来。如果此时再切换回A,设置之前记录的offset为200的话,会触发KVO,此时headerView会瞬间从"有一部分露出来"变为“看不见”。这个应该是有问题的吧

tujinqiu avatar Jan 17 '17 00:01 tujinqiu

我现在是在达到临界值之后。如果你点击就到切换,就会设置tableView偏移量相应的值。


 self.currentTableView  = self.tableViews[index];
    for (UITableView *tableView in self.tableViews) {
        
            if ( self.lastTableViewOffsetY>=0 &&  self.lastTableViewOffsetY<=136) {
                tableView.contentOffset = CGPointMake(0,  self.lastTableViewOffsetY);
                
            }else if(self.lastTableViewOffsetY < 0){
                tableView.contentOffset = CGPointMake(0, 0);
                
            }else if ( self.lastTableViewOffsetY > 136){
                tableView.contentOffset = CGPointMake(0, 136);
            }
    }
  

这个值你要是能记录下来,也是可以自己设置的,我是设置为初始值而已。触发KVO也是根据坐标值来判断要不要隐藏header相关组件的,所以你可以试一试。

JoySeeDog avatar Jan 18 '17 03:01 JoySeeDog