2011-02-08 72 views
5

以下代码易于使用吗?滑动以更改视图

我有一个tableview,当用户选择一个单元格的细节视图加载。 我想允许用户通过左右滑动来浏览代表桌面视图中的项目的项目/细节视图,其工作方式与例如。 iPhone的主屏幕(例如,在滑动时,一个页面正在离开屏幕并且下一个出现)。

我已经看到这在MobileRSS-APP中实现,所以这是可能的,但我只是很难找出正确的方法。

非常感谢!我仍然试图找到我的脚与可可触摸...

+1

+1,我也有兴趣了解它是如何工作的。 Reeder应用通过向上和向下滚动来实现,所以EGOTableviewPullRefresh可能是开始研究类似技术的好地方。 – phi 2011-02-08 10:38:53

+0

根据我的评论,我做了一个搜索(我应该搜索过之前:)并且在iDev食谱中有一篇博客文章描述了我想要的东西:http:// idevrecipes。com/2010/12/28/how-do-reeder-iphone-app-swipe-and-down-between-articles/ – phi 2011-02-08 10:41:53

+0

谢谢艾琳,这也非常有帮助。第二个答案似乎更多的是我正在考虑的方向,但这个例子给了我另一个问题的答案,允许一个下拉列表返回列表(作为后退按钮的备选方案) – 2011-02-08 14:10:30

回答

2

这不是秘密,苹果提供的示例代码称为PageControl演示你想达到什么:

此应用程序主要演示了使用UIScrollView的分页功能使用水平滚动作为一个用于在不同页面内容之间导航的机制。

我在many of my apps中实现了它。

2

iphone主屏幕(跳板)与滚动视图设置为启用分页工作。

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,self.view.frame.size.width, self.view.frame.size.height)]; 
[scrollView setPagingEnabled:YES]; 

然后,让我们说有应用刷卡通过的两页 - 你设置滚动视图的内容大小,您的看法宽度的两倍:

[scrollView setContentSize:CGSizeMake(self.view.frame.size.width*2, self.view.frame.size.height)]; 

并且那如何做到这一点。 :)我不知道它是否与MobileRSS-APP相同。

事情要牢记:

  1. 这不是默认方式表视图工作。你可能会让你的应用被苹果拒绝。表格视图是通过点击来工作的。

  2. 您可以在不使用触摸方式和导航控制器的滚动视图的情况下复制功能。一个好的教程描述如何检测你的看法挥笔是在这里:http://www.dosomethinghere.com/2009/07/23/simple-swipe-detection-in-the-iphone-sdk/

在该教程中的最后一个方法,其中存在的NSLog(“向右滑动,即可”),你可以替换成[self.navigationController popViewControllerAnimated:YES]这将复制按导航栏中的“后退”按钮。

我不知道你可以做什么左滑,但如果你想这样做的表视图你必须做一些复杂的数学确定表视图已滚动多远。或者你可以测试单元格本身的触摸事件,但那是你必须考虑的事情。 :)