本文主要祥講解一下本人在平時寫過的一個小Demo钙姊,模仿側(cè)面是菜單欄桥嗤,右面是自定義View的布局展示選擇左側(cè)列表中的不同分類须妻,右側(cè)會展示不同的頁面。
demo.gif
本文小編只是拋磚引玉泛领,給iOS初學(xué)者提供一個思路荒吏,如有出入,還請多多指教渊鞋。
? ? ? ?首先我們要明確這種布局模式绰更,看界面不難發(fā)現(xiàn)整體是由兩部分組成,左側(cè)是一個TableView锡宋,用來展示分類類別儡湾,右側(cè)則是對應(yīng)的自定義布局,可以是任何控件組成的布局员辩,布局可以完全相同盒粮,也可由不同,只需判斷選中類別的下標(biāo)來展示不同的頁面奠滑,提取不同的數(shù)據(jù)即可丹皱。
? ? ? 在類別標(biāo)記上,我采取的是定義一個全局的NSndexPath對象宋税,初始化為{0摊崭,0},默認選中第一個杰赛,后面的分類顯示以及右側(cè)顯示也都是通過判斷此對象來改變的呢簸。
定義一個全局的NSndexPath對象,默認選中第一個
? ? ? 在給UITableViewCell賦值時乏屯,同樣需要做個判斷根时,判斷當(dāng)前賦值的Cell是否是默認顯示的分類,若是則將該Cell的顯示設(shè)置為已選中的狀態(tài)辰晕,其他Cell則設(shè)置成正常未選中狀態(tài)
初始化Cell
? ? ? 在tableView的點擊事件里判斷當(dāng)前選中的IndexPath與上一次標(biāo)記的IndexPath是否一致蛤迎,若不一致則更改右側(cè)布局,及左側(cè)類別列表的選中狀態(tài)含友。
選中分類時的點擊事件
思路大體講解完畢替裆,如果您對這個Demo有興趣校辩,在GitHub上查看該Demo的具體實現(xiàn)Demo在GitHub上的地址