2010-04-28 45 views
2

是否有一種標準的Aqua方法來處理幾乎無限的文檔?無限文檔的滾動條?

例如,想象基於區塊的遊戲關卡編輯器。該級別沒有預設大小(儘管它在技術上受限於NSInteger的大小);瓷磚可以放置在網格上的任何位置。是否有滾動瀏覽這些文件的標準界面?

我不能簡單地限制滾動到已經瓷磚領域,因爲用戶需要能夠添加邊界外的瓷磚。任意創建一個關卡尺寸,即使用戶很容易更改,也不是很理想。

有沒有人看到過處理這個問題的應用程序?

回答

7

一種選擇是本質上動態地擴展的區域通過它用戶滾動 - 任何時間的邊緣的X單元內的用戶滾動,在該方向上添加另一單元。從本質上講,你永遠不能夠「一路」滾動到邊緣,因爲越靠近越遠,它就會擴展。

如果用戶從滾動的邊緣往回走,承攬它回不超過X單位更超過這裏居然有內容。

+0

完全直觀。謝謝! – andyvn22 2010-04-28 22:52:30

+1

我剛剛發現Inkscape使用這個解決方案,如果有人想在免費的應用程序中看到它的行動。 – andyvn22 2010-05-01 21:12:12

2

你見過Microsoft Excel爲這個問題做過什麼嗎?它也必須用滾動條代表無限的空間。

一種解決方案是限定用於原來的水平尺寸的合理的空間,並且當用戶滾動到從其界限一個瓦片遠,添加瓦片的另一行或列,並相應地調整滾動條。這樣,用戶永遠不會達到實際的界限。

如果用戶決定削減程度的大小,你還可以添加一個日漸「合理空間」一次未使用的行只包含空磚碼。這樣可以避免用戶陷入巨大的級別,而無法縮小它。

編輯:和Dav的回答一樣。 :)