2013-10-18 63 views
7

我是故事板新手;我之前已經完成了一些Interface Builder以及大量的手動UI定位。我搜索了這個問題,嘗試瞭解其他相關帖子中找到的解決方案,但無濟於事。UIScrollView不會滾動(Storyboards)

我有一個視圖控制器,在Storyboard中添加了UIScrollView。 ScrollView插座已連接,屬性合成。滾動啓用被選中。彈跳被檢查。即使那樣,也沒有跡象表明會發生任何滾動。當我檢查垂直反彈時,我至少可以看到可滾動的內容,但是在我釋放後它會反彈回來。我發現幀尺寸設置爲320和521.我嘗試了不同的高度,但沒有任何幫助。 (應該是故事板中設置的大小,以容納較舊和較新的手機尺寸?)。

在viewDidLoad中,我加入

[scrollView setContentSize:CGSizeMake(320, 1000)]; 

日誌聲明事後證實,該值已被接受。但它也沒有幫助。

在一個有人張貼建議增加:

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 808)]; 
} 

這有崩潰的程序控制器加載時的效果。

任何幫助將不勝感激!

謝謝。

+0

也許你有另一種觀點,涉及滾動和接觸而不是它? –

+0

使您的視圖控制器成爲UIScrollViewDelegate的代表。它帶有大量的方法,你可以測試你的scrollView是否能夠觸及。檢查這裏的文檔https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html – Priyatham51

+0

嗨Grzegorz,只有一堆標籤和文本字段的滾動視圖頂部,據我所知。 –

回答

15

兩件事情竟然是必要的:

1)設置滾動視圖的高度,以480

2)添加約束至最低的字段中滾動視圖。約束是Pin >> Superview的底部空間。

+3

2)在StoryBoard中很重要! – Sars

+1

我也通過向我的UIScrollView添加正確的約束來解決這個問題。 –

+0

非常感謝,它節省了很多時間..... – susant

6

只需添加下面的方法:

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 1700)]; 
} 

這是工作完美的我。

+0

這就是問題:(void)viewDidLayoutSubviews。人們(包括我)在錯誤的地方寫入「self.scrollView setContentSize」,在(void)viewDidLoad或其他地方。重複:這是問題,地方(無效)viewDidLayoutSubviews。 – Markus