2011-10-27 32 views
0

有沒有已知的,經過驗證的方法來管理內存滾動組件,如可再用的可再生單元以外的表格或網格?計算和數據源/委託調用的順序需要使這種佈局視圖工作的方式,但也使協調與單元格的複雜動畫和滾動視圖錯誤傾向,因爲你必須仔細注意調用序列,因爲它重新加載數據,滾動到佈局的偏移量和其他機制,以影響動畫的目標框架。我正在尋找一種更具說明性的方法來向滾動視圖提供內容,並讓它通過長垂直佈局的圖片加載DOM來找出管理內存的智能方法,就像瀏覽器所做的那樣。如何管理組件中的內存?

+0

你不提供內容給NSScrollView,它不要求它,它只是滾動它的視圖。你使用了哪些數據視圖(NSTableView,NSOutlineView,MSMatrix等)?該數據視圖使用了多少個單元格?動畫問題到底是什麼? – hamstergene

+0

我正在'TUIScrollView'上編寫一個自定義佈局,這是Twitter開源lib中的'UIScrollView'組件。我不喜歡向組件提供內容的數據源/委託風格,因爲調試Core Animation更改可能很困難。在一個典型的NSTableView類似的實現中,該表有多個方法來執行在不同時間調用的佈局邏輯。如果沒有完美編碼,這些可能會意外地破壞動畫。我想要一個更具說明性的風格,這樣我就可以將所有的動畫聚合在一起,比如在調整其他動畫時動畫。 –

回答

0

我發現創建自己的自定義佈局類只能在我的視圖上進行佈局,而不是強加一個複雜的協議,如NSTableViewDataSource等使動畫難以編程的類。我喜歡確切地知道我的視圖在哪裏,每個視圖的完整層次結構,我不喜歡保持模型與視圖同步,因此我將數據存儲在視圖本身上。在我看來,屏幕上的對象是我喜歡編排爲程序員的唯一對象。我想直接對它們進行聲明式控制,就像遊戲程序員一樣。通過直接繼承滾動視圖並遵循非常規的可可的方法之外的非常簡單的佈局規則來避免令人驚訝的佈局,我能夠更好地控制我的動畫並執行更復雜和流暢的動畫。希望這能激發別人也這樣做。