回答
我知道這個問題有點舊了,但從iOS 6開始,UIPageViewController有一個新的過渡樣式屬性UIPageViewControllerTransitionStyleScroll
,它允許您使用頁面控制器來處理像您這樣的用例,而不是在頁面之間滾動iBooks風格的頁面捲曲轉換。
您還應該觀看2012年WWDC視頻編號223 - Enhancing User Experience with Scroll Views,他們基本上將使用您描述的方法的舊應用程序轉換爲具有滾動樣式轉換的新UIPageViewController。
我會建議一個UIPageViewController來代替。
感謝您的回覆。 UIPageViewController不支持沒有頁面翻轉動畫的水平分頁,這是我需要的。 – railwayparade 2012-04-09 06:13:06
咳嗽咳嗽
我覺得UIPageViewController能水平走:
- (id)initWithTransitionStyle:(UIPageViewControllerTransitionStyle)style navigationOrientation:(UIPageViewControllerNavigationOrientation)navigationOrientation options:(NSDictionary *)options
而且
enum {
UIPageViewControllerNavigationOrientationHorizontal = 0,
UIPageViewControllerNavigationOrientationVertical = 1
};
typedef NSInteger UIPageViewControllerNavigationOrientation;
感謝您的回覆。在頁面之間移動時,UIPageViewController僅支持翻頁。我正在尋找在多個頁面之間水平滾動的最佳方式。在頁面控制的例子中,每個視圖控制器只有一個頁面 – railwayparade 2012-04-10 22:24:33
我的答案是,這取決於你的目標。如果你想盡可能高效地創建一個應用程序,那麼我只會使用它在示例代碼中完成的方式。我之前使用過它,我會再次使用它。另一方面,如果您的目標是瞭解視圖控制器遏制,它如何工作以及如何使用它,這可能是一個很好的例子。如果你這樣做,不要忘了查看WWDC視頻「實現UIViewController Containment」(https://developer.apple.com/videos/wwdc/2011/)。
謝謝我觀看WWDC視頻,它不是蘋果公司最棒的視頻之一,非常混亂。該視頻在管理屏幕不同部分的上下文中討論了UIViewController遏制,這與滾動視圖不同。頁面控制示例的問題在於它已過時。沒有故事板等 – railwayparade 2012-04-11 22:23:52
如果您將視圖控制器視圖(myViewControllerOne.view)添加到UIScrollView - 然後將它們適當地框定爲水平顯示 - 當用戶與視圖內的視圖交互時,View Controller中的方法將被調用。
通過這個我的意思是如果你有MyViewControllerOne.view作爲你的滾動視圖內的子視圖,當你滾動到滾動視圖的'頁面'並按下MyViewControllerOne中的附加方法(IBAction等)叫做。
這應該會爲您提供所需的所有功能,例如添加UI元素,表格,另一個滾動視圖等。這些元素將從其原始視圖控制器中進行控制。
希望這會有所幫助!
謝謝RachelD多數民衆贊成在我做了什麼。問題更多地是關於什麼是最佳實踐。注意將一個視圖控制器視圖添加到其他視圖層次結構可能會有問題。見http://blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/ – railwayparade 2012-04-11 22:19:01
這不是正確的方法,你不應該這樣做! – 2013-10-22 09:25:04
顯示iOS5的最佳做法是繼續使用與PageControl示例相同的方法。這是一個控制器類(注意不是視圖控制器)。使用每個頁面的子視圖控制器。
到目前爲止,還沒有更好的方法來實現使用iOS5中包含的視圖控制器遏制方法的分頁滾動視圖。
- 1. 如何製作帶有圖像視圖的無限分頁滾動視圖?
- 2. 帶分體視圖控制器的分塊視圖框架
- 3. 不同的控制器的頁面控制或滾動視圖
- 4. UI頁面視圖控制器滾動不會向後滾動
- 5. 使用視圖控制器子視圖
- 6. 2視圖控制器中的textViews,但視圖控制器不滾動?
- 7. 多視圖控制器與滾動視圖內的tableview
- 8. 將視圖控制器並排添加到滾動視圖中
- 9. 化妝視圖控制器滾動與集合視圖
- 10. 在滾動視圖中添加視圖控制器
- 11. 如何從滾動視圖的子視圖中關閉scrollview控制器
- 12. 滑動視圖和視圖控制器
- 13. iOS5內容視圖控制器阻止自定義容器視圖控制器上的滾動視圖
- 14. 關閉父視圖控制器和子視圖控制器
- 15. 分割視圖控制器必須是根視圖控制器
- 16. 帶文本視圖的自動滾動滾動視圖
- 17. 許多控制器的一個視圖(主視圖)(子視圖)
- 18. 子視圖控制器
- 19. 滾動視圖的子視圖如何知道滾動視圖正在滾動
- 20. 我的子視圖不與視圖控制器一起動畫
- 21. 子視圖控制器通知根視圖控制器加載另一個子視圖控制器
- 22. 如何從主視圖控制器訪問滾動視圖子類(初學者)
- 23. 視圖控制器分離
- 24. UISegmentedControl設定的UITableView,頁面控制,滾動視圖,圖像視圖
- 25. 從當前視圖控制器的子視圖控制器導航到詳細信息視圖控制器
- 26. 頁面視圖控制器與滾動效果與UIScrollView與分頁啓用
- 27. 在拆分視圖控制器中調整主視圖控制器和詳細視圖控制器的大小?
- 28. 當在子視圖位置選擇滾動視圖子視圖滾動
- 29. 分段控制切換滾動視圖中的圖像iphone
- 30. 帶有表視圖的視圖控制器中的RSS源
你現在使用什麼方法?我使用蘋果PageControl示例中顯示的方法。它的工作原理,但仍然存在一些出現錯誤的情況:旋轉相關,可能是因爲ScrollView不是ViewController。 – AlexWien 2013-05-13 17:22:59
我用UIPageViewControllerTransitionStyleScroll UIPageViewController,遇到了很多邊緣情況下添加新的視圖控制器的滾動視圖的開始和結束,這使得實現比PageControl類型的方法更容易。 – railwayparade 2013-05-13 22:09:28