2012-12-12 98 views
2

我有一個內容大小1000x10000,它的中心位於視圖控制器的中心。 我想推一個按鈕來翻頁。在接下來的代碼中,我嘗試了origin.x中的幾乎任何數字,但沒有更改滾動視圖。 我不明白它的數學,但是當我設置origin.x = 300和origin.y = 100時,視圖會向上移動一點,但就是這樣。不能移動我的UIScrollView

CGRect frame=scroller.frame; 
frame.origin.x=ANY NUMBER HERE; 
frame.origin.y=0; 
[scroller scrollRectToVisible:frame animated:YES]; 

我怎樣才能將它設置爲視圖從右邊移到左邊

回答

1

試試這個,

[scroller setContentOffset:CGPointMake(300, 0) animated:YES]; 

setContentOffset:animated: 設置從對應於接收器的起源內容視圖的原點的位置偏移。

+0

好的一個!任何想法如何使動畫更慢? – Segev

+1

@MikaStern,刪除'動畫'部分。通過指定時間,延遲和所有內容,在動畫塊內部實現此操作。 – iDev

+1

有你!很好的幫助!謝謝!! – Segev

0

你應該創建UIScrollView的幀到的UIViewController的大小,像這樣:

UIScrollView *scroller = [[UIScrollView alloc] initWithFrame:self.view.frame]; 

然後設置scrollers CONTENT VIEW至1000x10000大小,如下所示:

scroller.contentSize = CGSizeMake(1000, 10000); 

contentSize是wh使得UIScrollview能夠滾動,只要內容大於滾動框架。

+0

我的內容比視圖控制器大得多。仍然我沒有看到任何滾動時chaging frame.origin.x – Segev

0

如果你想讓它滾動,那麼contentSize必須大於frame.size,否則沒有空間可滾動。
然後確保scrollEnabled設置爲YES(默認情況下它是,所以除非你已經改變它已經設置爲YES)。