2013-11-02 25 views
1

我有一個UIScrollView與2個UIImageViews裏面。如果將它們相加,圖像的高度約爲2330像素。UIScrollView並不總是滾動驅使我瘋狂

在故事板總覽我設置的大小的UIScrollView與寬度768和高度爲1024

所述的ViewController的viewDidLoad中內部予設定的UIScrollView的contentsize編程像這樣:

- (void)viewDidLoad 
{ 

[super viewDidLoad]; 

    [self.introScrollView setScrollEnabled:YES]; 
    self.introScrollView.contentSize=CGSizeMake(768,4500); 

} 

,高度爲4500像素,這對於兩幅圖像都適合。 有趣的是,它曾經工作過,然後再次停止工作!它如何工作,然後再次停止。這是不合邏輯的。它必須有一個bug或其他東西。

回答

0

我在IB中爲UIScrollView關閉了AutoLayout,UIScrollView自動刪除了UIImageViews的約束,現在它就像一個魅力!

+0

對不起,我整天都在外面,所以我不能幫你。很高興你能夠工作(儘管我不確定可以對子視圖做些什麼改變)。你可以自己的答案正確,因爲它的工作。 – danh

0

第一個最常見的原因是您處理的contentSize。

第二個最常見的原因是沒有設置插座NSLog(@"%@",self.introScrollView);不應該爲零。如果是這樣,那麼你就沒有機會設置contentSize。

遙遠的三分之一是滾動視圖上的userInteractionEnabled已在IB或其他地方設置爲NO。

遙遠的第四個是父母或重疊兄弟姐妹的gestureRecognizer竊取手勢。

在這種情況下,我打賭#2。

+0

我在控制檯中檢查了#2和輸出: – es1

+0

; layer = ; contentOffset:{0,0}> – es1

+0

也檢查了#3,並且在IB中勾選了啓用用戶交互。我不使用任何取消#4的gestureRecognizer。 – es1