2016-09-21 131 views
-1

內的滾動方向我一直在使用本教程中創建一個刷卡導航。我的代碼的例子是:更改滾動視圖

let Pg1 = ViewControllerPg1(nibName: "ViewControllerPg1", bundle: nil) 

    self.addChildViewController(Pg1) 
    self.scrollView.addSubview(Pg1.view) 
    Pg1.didMoveToParentViewController(self) 

    let Pg2 = ViewControllerPg2(nibName: "ViewControllerPg2", bundle:nil) 

    var frame1 = Pg2.view.frame 
    frame1.origin.x = self.view.frame.size.width 
    Pg2.view.frame = frame1 

    self.addChildViewController(Pg2) 
    self.scrollView.addSubview(Pg2.view) 
    Pg2.didMoveToParentViewController(self) 

    let Pg3 = ViewControllerPg3(nibName: "ViewControllerPg3", bundle:nil) 

    var frame2 = Pg3.view.frame 
    frame2.origin.x = self.view.frame.size.width * 2 
    Pg3.view.frame = frame2 

    self.addChildViewController(Pg3) 
    self.scrollView.addSubview(Pg3.view) 
    Pg3.didMoveToParentViewController(self) 

我有這些變量導致到65,然後我有:

self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 65, 
self.view.frame.size.height - 66); 

一切都是內部的scrollView

我兩個問題, 頁面從第一個到最後一個從右到左。但是,我需要從左到右。我需要使用按鈕在「頁面」之間移動,我已經試過這樣做:showViewControllerpushViewController沒有任何工作。

謝謝你提前

回答

0

你爲什麼做這麼多的VC變量?每個班級真的很獨特嗎?您可能可以重用一個VC來處理您嘗試執行的所有操作,並依靠該VC的單獨實例以不同方式呈現內容。

要回答你的問題,但是,爲了手動頁面滾動視圖,你可以使用的UIScrollView的scrollRectToVisible方法來實現這一目標:

https://developer.apple.com/reference/uikit/uiscrollview/1619439-scrollrecttovisible

祝你好運!

+0

嗨,非常感謝你的回答,但我還有另一個問題,如果你能回答會幫助我很多。我所有的CGRect變量都在一個特定的ViewController中,並且這個按鈕是分開的。我怎麼能在功能中使用它們? – Justsomecode

+0

有很多方法可以實現這一點。一個是你可以對擁有所有數據的VC進行子類化,以便孩子可以訪問。更好的可能是設計數據,以便在dataSource類型的對象中輕鬆訪問數據。我不太瞭解你的代碼結構,但訪問這些數據應該是微不足道的。 – Lizza

+0

你好!首先非常感謝你們的幫助。其次,我不知道如何繼承ViewControllers的子類,如果你能指點我一個很好的教程,我會非常感激。我試圖在網上搜索無濟於事...再次感謝 – Justsomecode