2012-07-08 50 views
2

我正在開發一個應用程序,其中我有一個水平滾動UIScrollView全屏分頁包含多個(比方說3)垂直滾動UIScrollViews,每個也全屏。它們沒有邊距,左邊的原點是(0,0)。多個垂直滾動UIScrollViews在水平UIScrollView

每個垂直滾動的UIScrollView由放置一個以上的其他按鈕,每個被點擊的時候,提出了一個視圖控制器:

[self presentViewController:someViewController animated:YES completion:nil]; 

下面這段代碼工作正常,右側的兩個UIScrollViews,但它是左一個越野車:

  • 水平UIScrollView的高度不能點擊按鈕。因此,如果水平UIScrollView的高度爲440px,則origin.y> 440的任何UIButton都不可選。
  • 如果UIScrollView的稍微向下滾動和一個按鈕被點擊(即不低於440px),整個的UIScrollView被「移動」下來,而所請求的視圖控制器被呈現得到幾分laggy。當這個視圖控制器被解散時,滾動視圖保持較低。如果我將它向上滾動並按下一個按鈕,它會奇蹟般地跳到它應該在的位置。

現在最有趣的部分!

如果我改變離開的UIScrollView的原點(1,0),這個問題自敗!有什麼可能造成這個問題?

添加一些代碼:

[horizontalSV setDelegate:self]; 
[horizontalSV setContentSize:horizontalContentView.frame.size]; 
[horizontalSV addSubview:horizontalContentView];     // View containing vertical scroll views, it's set up in IB 
[horizontalContentView setFrame:CGRectMake(-1, 0, 961, 440)];  // This is now used for the hack 

// Now imagine three of these 
firstSVcontent = [[VerticalContentView alloc] init];    // Setting the content view 
[firstSVcontent setTitle:title]; 
[firstSVcontent setButtons:blahblah]; 
[firstVerticalSV setContentSize:firstSVcontent.view.frame.size]; // Setting vertical scroll view 
[firstVerticalSV addSubview:firstSVcontent.view]; 
+0

OK,我發現周圍的工作:使包含垂直滾動UIScrollViews 1像素寬的觀點,然後作出它的origin.x = -1。 但是,我仍然想知道是否有人知道這到底是怎麼回事。 – 2012-07-08 21:11:38

+0

這似乎是hack-y。你能粘貼一些代碼嗎? – achi 2012-07-08 21:17:57

+0

@EliGregory它不幸的是。我添加了設置代碼。 – 2012-07-08 21:30:02

回答

2

我已經將近一年以後解決這個問題!

的問題,我做了我的大部分在廈門國際銀行文件視圖同治,然後我剛纔讀的那些內容的意見和滾動我viewDidLoad方法的觀點和把它們放在一起。

現在我已經重寫我的代碼以編程方式創建的所有滾動視圖和內容視圖,一切工作沒有問題。