创建类似于facebook iphone应用程序的更新动画

时间:2011-07-22 23:30:13

标签: iphone

我有一个滚动视图,显示我要显示的所有数据,我希望用户触发它的更新。用户应向下拉动滚动视图,然后将显示之前隐藏的小视图,其中显示:“更新”或“发布更新”。

看看iPhone Facebook应用程序,你会看到我在说什么。 他们做得非常棒,他们有一个小动画和箭头,使它简单直观。

但是,在尝试复制此行为时,我发现UI被阻止,直到运行scrollview委托函数。这是不切实际的,因为我想从该scrollview委托函数更新UI。 因此,当用户以拖动动作保持滚动视图时,应该有一个小动画,或者告诉他释放它或保持更长时间。

- (void) scrollViewDidScroll:(UIScrollView *)scrollView
{    
    CGPoint topOffset = CGPointMake(0, 20);

    if (self.contentOffset.y < 0 )
    {        
        labelUpdate.text = @"Release to update.";

        //do something here to update the UI
    }   
}

5 个答案:

答案 0 :(得分:1)

搜索谷歌下拉以刷新

答案 1 :(得分:0)

我建议您查看Three20库。有可能该功能已合并到该库中,因此您无需从头开始。 (我有一段时间没有看过Three20库,所以我无法确认或否认这一点,对不起。)

答案 2 :(得分:0)

您可能想要使用现有框架。提到了其中几个here

答案 3 :(得分:0)

Three20的TTTableViewController

我第一次看到这个功能是在Tweetie(现在的Twitter)应用程序和现在的Facebook应用程序。 Facebook应用程序的第一个开发人员创建了一个名为Three20的开放框架,巧合的是,Three20的框架在github上有一个演示Twitter应用程序。要使用“拉动刷新”功能,你可能不得不使用Three20的TTTableViewController,它使用url路径来跟踪导航,所以你可能需要调整你的应用程序才能使用它,但是有很多关于Three20的教程,如{{3} }。

答案 4 :(得分:0)

感谢所有答案,

最终我选择了这个解决方案: https://github.com/leah/PullToRefresh

因为它很简单而且有效。另外,我将那里显示的ViewController重构为一个简单的UIView类型,您可以轻松地使用任何UIScrollView派生类。

很快就会出现带代码的链接。