滑动即可更改视图

时间:2011-02-08 08:54:47

标签: iphone uitableview uiviewcontroller uipagecontrol swipe

以下是否容易编码?

我有一个tableview,当用户选择一个单元格时,会加载一个详细视图。 我希望允许用户通过左右滑动来遍历表示视图中的项目的项目/细节视图,其工作方式与例如iphone的主屏幕(例如,在滑动时,一页正在离开屏幕而下一页出现)。

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

提前感谢一百万!我仍然试图用可可触摸找到我的脚...

2 个答案:

答案 0 :(得分: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/

  3. 在该教程的最后一个方法中,有NSLog(“向右滑动”),您可以用[self.navigationController popViewControllerAnimated:YES]替换它,它会复制,按下导航栏中的“后退”按钮。

    我不知道你能做什么才能向左滑动.....如果你想在桌面视图上这样做,你将不得不做一些复杂的数学运算来确定表格视图的滚动距离。或者您可以测试单元格本身的触摸事件,但这是您必须要研究的内容。 :)

答案 1 :(得分:2)

这不是秘密,Apple提供了名为PageControl的示例代码,可以准确演示您想要实现的目标:

  

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

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

相关问题