我有一个滚动视图,显示我要显示的所有数据,我希望用户触发它的更新。用户应向下拉动滚动视图,然后将显示之前隐藏的小视图,其中显示:“更新”或“发布更新”。
看看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
}
}
答案 0 :(得分:1)
搜索谷歌下拉以刷新
答案 1 :(得分:0)
我建议您查看Three20库。有可能该功能已合并到该库中,因此您无需从头开始。 (我有一段时间没有看过Three20库,所以我无法确认或否认这一点,对不起。)
答案 2 :(得分:0)
您可能想要使用现有框架。提到了其中几个here。
答案 3 :(得分:0)
我第一次看到这个功能是在Tweetie(现在的Twitter)应用程序和现在的Facebook应用程序。 Facebook应用程序的第一个开发人员创建了一个名为Three20的开放框架,巧合的是,Three20的框架在github上有一个演示Twitter应用程序。要使用“拉动刷新”功能,你可能不得不使用Three20的TTTableViewController,它使用url路径来跟踪导航,所以你可能需要调整你的应用程序才能使用它,但是有很多关于Three20的教程,如{{3} }。
答案 4 :(得分:0)
感谢所有答案,
最终我选择了这个解决方案: https://github.com/leah/PullToRefresh
因为它很简单而且有效。另外,我将那里显示的ViewController重构为一个简单的UIView类型,您可以轻松地使用任何UIScrollView派生类。
很快就会出现带代码的链接。