思路其实很简单。一个UITableView就能简单做到了。就像你说的使用-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath这个方法也可以。不过我一般不是那么做。
如果我们按照QQ那样来做。首先你得有这么一个头控件。比如这个头控件可以被点击,有个UILable,能给他赋予标题,有个小箭头,点它会像QQ那样会旋转。当然,为了记录这个小箭头箭头是向下,还是向右,你需要一个能决定它方向的属性。(如果只有两个方向用BOOL值就可以了)。。。。
为了方便,这里我就不写这个控件了,用UIButton代替了- -......通过button的selected属性来决定这个组是否要展开。。关键代码如下吧
首先是个带导航的UITableViewController,接着在viewdidload里面先建立好头控件。(当然这里的头控件就是3个button了)
接着就是这些投控件的点击事件buttonClick:
再接着就是设置这个tableView了