我有一个 UIView 作为 2 个表视图的容器。我有两个按钮来控制如何在这些 tableviews 上加载数据。基本上,当点击 1 个按钮时,uiview 会滑出以显示与该按钮相关的 tableview,而当另一个按钮被点击时,我需要它:
- 关
- 隐藏第一个表视图
- 然后取消隐藏第二个表格视图
- 然后 uiview 滑出
这就是我所拥有的
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationDelay:0.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
if(!isTableOpen){
[self.fighterTableView setHidden:YES];
[self.matchTableView setHidden:NO];
isTableOpen = YES;
viewTableContainer.frame = CGRectMake(0, 0, 352, 700);
[self.view bringSubviewToFront:viewTableContainer];
[UIView commitAnimations];
}else{
//isTableOpen = NO;
viewTableContainer.frame = CGRectMake(-352, 0, 352, 700);
[UIView commitAnimations];
[self.fighterTableView setHidden:YES];
[self.matchTableView setHidden:NO];
viewTableContainer.frame = CGRectMake(0, 0, 352, 700);
[UIView commitAnimations];
}
这里的问题出在 else 语句中的提交动画上,我试图设置隐藏属性,然后再次弹出 uiview。发生的事情是它只是隐藏和取消隐藏 tableview 但动画永远不会发生。我觉得我需要使用延迟,但我知道如何,除非有更体面的方式来处理这个?
想法?