[英]How should I approach structuring this view?
我很難找到構建這種設計的最佳方法。
頂視圖具有最小高度,並在達到此高度時變粘。 底部視圖托管一個具有三個視圖的分頁控制器。 這些視圖中的每一個都承載具有垂直滾動的集合視圖或表視圖。
我真的不知道如何處理這個問題。 整個視圖是否可滾動,我應該阻止在第二個視圖上滾動,直到頂視圖達到它的粘性高度? 或者這些視圖中的每一個都是單獨的uitableviews,而尋呼控制器只是一個單元格? 我是否應該使用分頁控制器,還是應該使用啟用分頁的scrollview? (后者有點粗糙的互動方式)
謝謝!
今年使用 WWDC的Collection View查看高級用戶界面 。 此視圖與iTunes Connect應用程序界面非常相似。 整個會話視頻解釋了他們如何創建該界面。
我使用了類似的方法在Emojicate應用程序中創建鍵盤。
我認為我所做的實際上是假的粘性標題。 所以像這樣......
dataSource
更新集合視圖。 當分段控件更改時,您可以通過更改“選定數據源”來更新集合視圖。 數據源還可以包含將更新它的UICollectionViewLayout
。
基本上,您正在談論的tableview只是一個集合視圖,其中單元格寬度等於屏幕寬度。 即偽造一張桌子。
粘性標題根本不粘。 當它開始離開屏幕時,你可以在那里放一個假的標題。
它需要一個重復的(ish)視圖,並考慮如何構建數據,但我認為這比擁有多個集合視圖和頁面控制器和東西更容易,資源更少。
如果您希望我更詳細地了解它,請告訴我,但這是一個復雜的主題。 先觀看視頻。
我會把這個部分變成導航欄。 應該比較容易。 只需使用barButtonItem自定義后退按鈕,並在titleView中執行幾個標簽。
我會將下一部分作為表視圖。
tableView有2個部分。 第一部分沒有節標題,第二節沒有任何單元格,只有節標題。
本節中的第一個也是唯一的單元格:
其余的將是第二部分標題的視圖:
這為您提供了所需的粘性,因為即使您滾過它,節標題也會保留在那里,因為集合只有2個部分,控件將始終保持在頂部。
我認為收集/表分頁部分是最難的部分,我不清楚它是如何完成的。 但我認為它可能是一個ContainerView。 容器視圖的每個視圖都可以是tableview或collectionview。 您將不得不添加一些代碼來處理containerview相對於第二個節頭的移動(可能是一個自動布局約束,它將容器視圖附加到您在上面實現的第一個表視圖的底部)。
我不認為在scrollview中使用你的表/集合是一個很好的實現。 我想我甚至在文檔中讀到開發人員應該遠離那個(但我可能會錯誤地記住它)。
我會:
帶有三個子視圖的“標題視圖”:
固定高度頂部和底部視圖(它們在任何尺寸下都可見)。
隨着超視圖增長/縮小而出現/消失的中間視圖。
滾動視圖(表或集合視圖是子類)在其上部分覆蓋標題視圖, 頂部插入設置足以顯示基礎標題視圖(顯示拉動刷新視圖的相同方式)。
最后跟蹤滾動視圖的滾動位置以保持手動調整標題視圖高度。
另一種看待此解決方案的方法。
兩個完全分離的部分,標題視圖和表格視圖。
tableView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);
)。 當表格視圖向上/向下滾動時,通過調整頁眉視圖高度來僅僅“連接”這兩個部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.