一、QQ好友列表 1.接下来,我就给大家实现这个QQ好友列表 来,我们先给大家看一下这个效果 这么一个效果 注意,这个QQ好友列表,这个东西,我们在前面很大一部分,加载数据的时候,其实和我们上次课学的内容几乎是一样的 和我们前两次课的内容都是一样的 都是懒加载数据、编写模型、实现数据源方法、一个一个给它显示出来,就可以了 和那个都是一样的,所以说 我们先把这个数据加载起来,然后再给大家实现点击这个效果 然后再看一些其他细节 所以说,我们一开始,还是之前那些老步骤, 1)拷贝素材 2)懒加载 3)写模型 4)实现数据源方法 都是这些步骤 所以说,我在写的时候,前面相当于在复习 我在写的时候,你也想,我在写完这个,该写什么了, 你去思考一下 接下来,我们一起把这个效果实现一下 2.大家看一下 其实整个这个数据,这其实就是可以分成一组、两组、三组、四组、五组、六组、七组、八组、九组、十组 是不是 就是分组数据啊 每一组里面,是不是又分这么多个单元格 所以说,其实我们整体就是一个分组这么一个效果 但是,大家注意看 我来运行、你来看 你来告诉我,当前这个UITableView的Style,是Plain、还是Grouped 当前这个UITableView的Style,是Plain、还是Grouped 为什么,如果是Grouped的话,它就不能顶上去了吧 没有顶上去这个效果吧 就是说,只有Plain的情况下,才有顶上去这个效果 所以说,一看它这个顶上去这个效果,就知道它这个UITableView一定是设置成了Plain OK,那么接下来,我们就实现这个效果,先把素材拷进来 二、实现这个QQ好友列表效果 1.把素材拷进来 新建一个项目:名称叫做:002好友列表 给它加个项目前缀:CZ 先把我们这几个文件夹建好: 1)Models文件夹 2)Views文件夹 3)Conrollers文件夹 4)Others文件夹 1)把这两个:AppDelegate文件,拽到Others文件夹里面 2)把这两个ViewController文件,拽到控制器里面 3)把Main文件、LaunchScreen文件,拽到Views文件夹里面 4)把Images文件,拽到我们的Supporting Files文件夹里面 好,现在我们基本这个结构,是不是搭好了 2.好,然后呢,我们这个,大家仔细观察一下,整体我们这个 这整体是一个UITableView吗 是不是整体就是一个UITableView啊 所以我们这里,是不是直接可以用一个UITableViewController 可以直接用一个UITableViewController过来 好,所以说,怎么办呢,我就可以,在这里,打开我们Main.storyboard 好,打开这个 打开这个以后,我们就可以把它默认的,给它删掉 删掉 我们直接拽一个UITableViewController上来 UITableViewController 然后呢,把它的大小,改成3.5英寸 然后呢,把它设置成,什么,Is initial View Controller 勾选 就是说,把它设置成我们的启始控制器 好,注意看,我们直接拽过来一个UITableView,上面是不是没有这么个东西, 没有这个单元格啊 现在,我们通过UITableViewController拽过来以后,里面这个TableView,是不是默认有这个单元格 现在,我们是不是用不到这个单元格, 刚才我们用静态单元格的时候,是不是用了一下这个东西 咱们现在用不到,等会儿,咱们后面,还会再用这个单元格 现在用不到,所以说,怎么办,删掉 当然,你留着它,是不是也不错啊 删掉的话,也没问题,我们就先把它删掉 现在这是不是就是一个空的一个UITableViewController OK,这是一个空的UITableViewController 然后,当前这个控制器对应的类,是哪个类 是不是系统的这个类:UITableViewController类 我们不希望用系统这个类,怎么办,是不是希望用一个自己的类 你让这两个 你让这个类,继承自UITableViewContoller 是不是也行 但是我不想那么做 怎么办,选中这两个文件,删掉 我想从头儿写一个,所以就把它怎么办,删掉 Delete,然后Move To Trash吧 然后再选中Controllers文件夹,怎么办,右键-New File吧 新建一个新的这么一个文件 这个文件呢,就叫做,是不是继承自谁? UITableViewController吧 叫什么名字 CZQQFriendsTableViewController 好,这个控制器 这个控制器,就是继承自我们的UITableViewController的这个控制器 然后,接下来,我们把这个控制器,设置到哪里 是不是设置到我们的这个控制器的这个类里面 然后,将来 然后,将来,我们启动这个控制器的时候,是不是就会创建这个类的对象 就会创建我们自定义这个类的对象 好,那么接下来,这个控制器,我们就把它搭好了 3.接下来,我们就 1)拷贝素材 2)写模型 3)懒加载 OK,找到我们的素材 首先,是不是有个icons、头像吧,和一些其他图片,