我的桌面视图有20行,250行作为行高。虽然我处于桌面视图的底部,但我希望将tableview向上移动65px。我试着做了
self.tableView.contentInset = UIEdgeInsetsMake(-65.0f,0.0f,0.0f,0.0f);
另外
self.tableView.contentInset = UIEdgeInsetsMake((4633.0f - 65.0f),0.0f,0.0f,0.0f);
其中4633.0f是我的contentoffset.y,但没有成功。
当向上拉最后一个单元格时,我在最后一个单元格下方显示一个视图,其上有一个活动指示器,表示正在加载更多数据。我需要保持该视图3秒钟,因此我想将tableview单元格向上推,然后我想将tableview移到其原始位置并重置下面的视图。
我正在做这个
编辑:这是'在2秒内将桌面视图插入:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
// self.tableView.contentInset = UIEdgeInsetsMake((4633.0f - 65.0f), 0.0f, 0.0f, 0.0f);
self.tableView.contentInset = UIEdgeInsetsMake(- 65.0f, 0.0f, 0.0f, 0.0f); //I want to know what should be written here
[UIView commitAnimations];
然后调用一个函数将其重置为
这会让桌面视图在3秒内重新开始:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
[self.tableView setContentInset:UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, 0.0f)];
[UIView commitAnimations];
有人可以建议怎么做吗?
提前完成。
答案 0 :(得分:4)
-(void)yourMethod
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];
[UIView setAnimationDuration:0.2];
tableView.contentInset = UIEdgeInsetsMake(0, 0, 60, 0);
[UIView commitAnimations];
}
-(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
[[self tableView] scrollToRowAtIndexPath:[[self tableView] indexPathForSelectedRow]
atScrollPosition:UITableViewScrollPositionBottom
animated:YES];
}