2011-02-08 99 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]這將複製按導航欄中的「後退」按鈕。

我不知道你可以做什麼左滑,但如果你想這樣做的表視圖你必須做一些複雜的數學確定表視圖已滾動多遠。或者你可以測試單元格本身的觸摸事件,但那是你必須考慮的事情。 :)