2010-11-18 79 views
1

我正在構建基本上像多米諾骨牌一樣工作的基於單元格的遊戲:您從中間的一個圖塊開始,然後將其他圖塊連接到可以在所有方向上分支出的圖塊。我有我的遊戲桌設置和工作很好...現在我只需要讓它滾動以適應不斷擴大的內容。在UIScrollView中展開內容

因此,這似乎不適合UIScrollView的內置行爲。首先,單元向各個方向擴展 - 可能會進入UIScrollView的負座標空間。據我所知,UIScrollView不允許爲滾動內容區域定義具有大小和來源的實際CGRect。看起來您只能定義從點(0,0)延伸的內容區域的寬度和高度。這是真的,還是我錯過了什麼?

假設我對內容區域限制的理解是正確的,那麼理想情況下如何處理此問題?我的想法是在遊戲板擴展時將所有子視圖轉換爲正座標空間,然後更新ScrollView的contentOffset屬性來抵消轉換並使轉換不可見。我只想確保在開始開發之前我不會重蹈覆轍。

在此先感謝您的任何想法!

回答

1

我相信你的想法很好,每次添加一個貼圖時,你可能需要調整你的內容視圖,以便能夠集中在剛剛添加的貼圖上。因此,如果這是「向後」(-x或-y),並且您位於視圖(或接近)的頂部,則必須擴展contentView(與+ x,+ y確實如此)因此,請使用您對contentView的右下角所做的翻譯來調整每個圖塊。

0

跟進...是的,這是做到了。我設置了顯示,以便從左上角重繪單元網格。每當單元格的新行或列被添加到頂部或左側時,UIScrollView的contentOffset會按新添加的像素移動以隱藏內容位置的更改。