gpt4 book ai didi

iphone - UITableView setContentInset 大值动画缓慢

转载 作者:行者123 更新时间:2023-11-29 03:45:31 25 4
gpt4 key购买 nike

我有一个 TableView ,其中另一个 View (称为 bottomView)作为 subview 放置在 TableView 内容的底部。我想要发生的是,当用户在 tableview 的最底部拉起时,在释放时我想向上滑动 tableview 以便出现 bottomView 。为此,我实现了委托(delegate):

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate: (BOOL)decelerate {
[UIView animateWithDuration:0.1 animations:^{
[self.tableView setContentInset:UIEdgeInsetsMake(0, 0, 250, 0)];
}];
}
动画 block 中的

(250是bottomView的高度)。我期望发生的情况是 tableview 向上滑动 250pts,露出 bottomView。奇怪的是,最终发生的情况是,表格只向上滑动了一点点(可能是 100 点),而且速度非常缓慢,大约需要 5 秒,而我的动画 block 只有 0.1 秒。

有人知道为什么会发生这种情况吗?

谢谢

最佳答案

试试这个,希望有帮助


  -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
aTableView.contentInset = UIEdgeInsetsMake(0, 0, 250, 0);
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
UIEdgeInsets insects = aTableView.contentInset;
if(insects.top == 0)
{
aTableView.contentInset = UIEdgeInsetsMake(0, 0, 250, 0);
CGSize size = aTableView.contentSize;
int height = size.height;
[UIView animateWithDuration:0.2 animations:^{
aTableView.contentOffset = CGPointMake(0, height-250);
}];
aTableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
}

}

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if(!decelerate)
{
UIEdgeInsets insects = aTableView.contentInset;
if(insects.top == 0)
{
CGSize size = aTableView.contentSize;
int height = size.height;
[UIView animateWithDuration:0.1 animations:^{
aTableView.contentOffset = CGPointMake(0, height-250);
}];
aTableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
}
}
}


根据需求调整contentOffset

关于iphone - UITableView setContentInset 大值动画缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17799459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com