2015-09-06 44 views
3

你如何創建一個UIScrollView頁面插入一點點顯示下一頁?就像這個例子:UIScrollView分頁插入不起作用

enter image description here

我當前的代碼如下:

@IBOutlet weak var scrollView: UIScrollView! 
var colors = [UIColor.redColor(), UIColor.blueColor(), UIColor.greenColor(), UIColor.purpleColor(), UIColor.orangeColor()] 

for var i = 0; i < colors.count; i++ { 

    var rect:CGRect = CGRect() 
    rect.origin.x = (scrollView.frame.size.width) * CGFloat(i) 
    rect.size = CGSizeMake(self.scrollView.frame.size.width, self.scrollView.frame.size.height) 

    var subview:UIView = UIView(frame: rect) 
    subview.backgroundColor = colors[i] 
    scrollView.addSubview(subview) 
} 

self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * CGFloat(colors.count), self.scrollView.frame.size.height - 64) 

給了我這樣的結果(很抱歉,如果它不是動畫,請隨時刷新頁面):

enter image description here

我已經試過用this page上的代碼搞亂了,沒有運氣讓它正確頁面。 (即跳得太遠或不夠遠)

回答

0

對不起,我現在不能附加代碼,但我已經在過去做過這方面的實驗,可以採取的一種方法是讓滾動視圖的框架大小(而不是整個屏幕),並將滾動視圖的clipSubviews屬性設置爲false。這樣,你會得到你想要的分頁寬度,仍然可以看到下一頁。

但是,它所呈現的問題是,您將無法從側面滾動(滾動視圖框架的外部,現在不覆蓋整個屏幕寬度)。爲了解決這個問題,你可以在這個滾動視圖後面有另一個滾動視圖,覆蓋整個屏幕寬度。該滾動視圖會將其觸摸傳遞給「真正的」滾動視圖,這樣您就可以獲得想要實現的內容,並仍然覆蓋滾動的整個屏幕寬度。

+0

你是否改變記住如何將觸摸傳遞到底部滾動視圖? – Michael