2011-01-27 97 views
5

我想製作一個視圖,其中三個子視圖堆疊在一起,中間子視圖可以滾動並與其他子視圖一起滾動。使UIScrollView的子視圖固定,而其他子視圖可滾動

如何以編程方式實現此目的?我曾嘗試過

  • 將根視圖的內容大小設置爲可滾動視圖的大小,但這會使所有視圖都滾動。

- 設置中間子視圖的內容大小,但不爲根視圖設置任何屬性,但會使所有視圖無法滾動。

請幫忙。我是iOS新手。

在此先感謝

回答

23

您可以使用在UIScrollViewscrollViewDidScroll:委託回調調整您的視角的位置。在回調中,獲取滾動視圖的contentOffset並使用它來設置固定視圖的位置。例如,如果您希望固定視圖從scrollview頂部始終保持100 px,請將其初始幀設置爲(0,100,寬度,高度),然後在回調中將幀設置爲( 0,contentOffset.y + 100,寬度,高度)。

結果是,子視圖將出現固定在給定的高度。

+0

謝謝!這工作。只是我的scrollviews需要水平滾動,所以我更新了委託中框架的x座標。 – sam 2011-01-28 03:08:47

3

如果您的UIScrollView具有超級視圖(即容器視圖),則可以將「固定」視圖添加爲超級視圖的子視圖而不是UIScrollView。你只需要計算一次你的幀座標。

0

你可以將它從UIScrollView的子視圖像滾動型超圖:如圖所示這裏在此快照

地方/在滾動視圖(不內滾動視圖)設置你的按鈕。還可以針對您的滾動視圖的超級視圖設置按鈕約束(位置)。

enter image description here

這裏是裁判。每個視圖的位置層次結構的快照。

enter image description here

相關問題