搜尋

首頁  >  問答  >  主體

objective-c - UIScrollView如何支援每頁不同高度? (左右劃切換頁面,在某頁上下滑動查看內容)

需求:iPhone電子書應用, 每個頁麵都是一張圖片,每頁根據文章長度不同圖片有長有短(圖片寬度固定為屏幕寬度,高度不定)

左右劃切換頁麵,某個頁麵長的話,在該頁上下滑動改頁麵查看內容。目前卡在具體實現上麵,試過動態設置contentsize,試過scrollview嵌套scrollview,可能能力有限,沒有成功。

動態設置contentsize
用4張圖片測試:
1. 設置了一個scrollview,contentsize為(4*屏幕寬, 屏幕高),對水平方向做swipe識別
2. 捕捉scrollview停止的事件,查看當前停留在第N個頁麵(第N張圖片),然後把scrollview的contentsize設成了(屏幕寬,第N張圖片高)
這裏涉及到contentoffset的問題,所以直接跳到第一張圖片的位置了,從這裏開始做不下去了。。。。

scrollview嵌套scrollview
用4張圖片測試:
1. 設置了一個父scrollview,contentsize為(4*屏幕寬,屏幕高),直接用缺省的pageenable機製 2. 分別把4張圖片嵌到四個scrollview裏麵,contentsize為(屏幕寬,圖片高),父scrollview依次加載各scrollview為 subview
結果,相當於父scrollview的contentview高度沒有子的高度大,程序貌似隻認父scrollview的contentsize了,在每頁裏也不能上下滑動。。。。

目前的兩種思路是不是都做不下去?初學ios,希望各位給點思路,謝謝~

PHP中文网PHP中文网2838 天前722

全部回覆(4)我來回復

  • 黄舟

    黄舟2017-04-21 11:19:26

    動態設定contentSize和巢狀ScrollView應該都是可以的,建議巢狀。 可以說說為什麼沒有成功。

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-21 11:19:26

    我提供一個思路。還是用巢狀的方式,底下一個橫向的ScrollView,然後開啟PageControl;每個Page裡方一個UIView,UIView上方縱向滾動的ScrollView

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-21 11:19:26

    這個需求和相簿的需求基本上是一樣的,這樣的需求一般透過 UIScrollView 嵌套 UIScrollView 实现。实现的时候注意区分 framecontentSize

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-21 11:19:26

    嵌套的思路是可以的,你做不成功只能上程式碼看看問題了

    回覆
    0
  • 取消回覆