思路其實很簡單。一個UITableView就能簡單做到了。就像你說的使用-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath這個方法也可以。不過我一般不是那么做。
如果我們按照QQ那樣來做。首先你得有這么一個頭控件。比如這個頭控件可以被點擊,有個UILable,能給他賦予標題,有個小箭頭,點它會像QQ那樣會旋轉。當然,為了記錄這個小箭頭箭頭是向下,還是向右,你需要一個能決定它方向的屬性。(如果只有兩個方向用BOOL值就可以了)。。。。
為了方便,這里我就不寫這個控件了,用UIButton代替了- -......通過button的selected屬性來決定這個組是否要展開。。關鍵代碼如下吧
首先是個帶導航的UITableViewController,接著在viewdidload里面先建立好頭控件。(當然這里的頭控件就是3個button了)
123456.png
接著就是這些投控件的點擊事件buttonClick:
20140729104654_49659.png
再接著就是設置這個tableView了
20140729104815_17515.png
20140729104835_38710.png
20140729104931_875991234.png