源代碼:TreeTableView-master(from:github)
初始效果
目標(biāo)效果
目標(biāo)1:實(shí)現(xiàn)node模型封裝,node模型轉(zhuǎn)換成一般模型。
1.先根據(jù)自己需求創(chuàng)建自定義模型
name為節(jié)點(diǎn)名稱(必要)。array為子節(jié)點(diǎn)數(shù)組(必要)
2.在view里面重寫一個(gè)initwithframe方法,多傳入一個(gè)包裝普通模型類的NsArray對(duì)象
initWithFrame方法
屬性
3.寫一個(gè)遞歸方法,把普通模型對(duì)象轉(zhuǎn)換成Node模型對(duì)象。
遞歸方法
目標(biāo)2:加入箭頭按鈕,點(diǎn)擊節(jié)點(diǎn)后按鈕變換方向。
1.修改node模型(新建屬性來判斷按鈕方向是為了防止改變?cè)创a邏輯)
Node頭文件
2.在創(chuàng)建node屬性時(shí)判斷是否為子節(jié)點(diǎn),并設(shè)置isRight屬性
設(shè)置isRight屬性
3.修改數(shù)據(jù)源方法
數(shù)據(jù)源方法
4.在處理點(diǎn)擊事件的代理方法中,修改按鈕方向
行點(diǎn)擊事件代理方法