我在iPad上有一个UITableView
,它的右半部分覆盖着一个视图。
我想要的是:当用户滚动UITableView
时,我希望覆盖视图向右滑动(带动画),直到它的origin.x
在表右侧的末端,所以UITableView
是清晰可见的(就像在iPad的Twitter应用程序中一样)。
问题是:你可以滚动UITableView
和动画视图在同一时间。当我开始滚动时,我使用didStartDraging
甚至DidScroll来创建[UIView animate...]
方法,但是这个方法卡住了我的滚动。
我厌倦了块动画。我尝试用手势。我尝试了CABasicAnimation
,它很好,但不知何缘故,所有的UISubview
"触摸区域"在我的滑动视图停留在旧的地方(我的意思是,视图得到了它的新框架,但我可以滚动UIScrollView
,这是我的视图的UISubview
,即使我的手指是超视图框架S-:,即使没有视图在屏幕上的那一点。)
有什么想法吗?我怎样才能使动画不损坏表的滚动?(我听说了K和runloop
常见模式中的计时器。没有帮助)
谢谢。
scrollview代理方法也会被tableView调用............
你可以使用下面的代码,它为我工作,希望也会为你工作.......
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
[UIView animateWithDuration:0.3 animations:^{
[scrollView setFrame:CGRectMake(50, scrollView.frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height)];
}];
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
[UIView animateWithDuration:0.3 animations:^{
[scrollView setFrame:CGRectMake(100, scrollView.frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height)];
}];
}
设置scrollView(tableView)的x位置为您的要求......
编码愉快....