滚动表格时的UIView动画



我在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位置为您的要求......

编码愉快....

最新更新