滚动表格时的UIView动画

时间:2011-10-28 15:33:58

标签: uitableview animation uiview scroll

我在iPad上有UITableView,右半边有一个视图。

我想要的是:当用户滚动UITableView时,我希望覆盖视图向右滑动(带动画),直到其origin.x位于右侧的末尾。表格,所以UITableView很明显(就像在Twitter的Twitter应用程序中一样)。

问题是:您可以滚动UITableView并同时为视图设置动画。当我开始滚动时,我使用didStartDraging甚至DidScroll来创建[UIView animate...]方法,但这种方法阻碍了我的滚动。

我厌倦了块动画。我尝试过手势。我尝试了CABasicAnimation,它很顺利,但不知怎的,我滑动视图中的所有UISubview“触摸区域”都停留在旧位置(我的意思是视图获得了新的帧,但是我可以滚动UIScrollView,这是我视图的UISubview,即使我的手指超出了超视图帧S-:,即使屏幕上的那个点没有视图。)

有什么想法如何在不损坏表格滚动的情况下制作动画? (我听说过K中的计时器和runloop常见模式。不太有帮助)

感谢。

1 个答案:

答案 0 :(得分:0)

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位置作为你的要求......

有一个快乐的编码......