看到有些文章写的两表联动的实现,感觉都有点复杂,其实只需利用tableview的代理方法即可实现。
废话不多说,还是直接来说demo吧。
首先,在main.storyboard中拖连个tableview,约束好布局
![](https://img.haomeiwen.com/i3425738/1816b6e043eeda75.png)
然后设置好代理和数据源,就可以在ViewCtroller.m中写了:
利用懒加载方式,加载左右两个表的数据数组:
![](https://img.haomeiwen.com/i3425738/f04f8f069efd4468.png)
接着实现代理和数据源方法,比较简单,就直接看代码吧。
![](https://img.haomeiwen.com/i3425738/6189cf7528344c22.png)
![](https://img.haomeiwen.com/i3425738/97bc9ac451f66b04.png)
![](https://img.haomeiwen.com/i3425738/3be3d46e6f1ee5ea.png)
选择左边tableview,右边同步,还有选择右边tableview,左边同步,这两个都可以通过代理方法didSelectRowAtIndexPath来实现,主要是滑动右边的时候,左边需要跟着更新,这个其实也是通过代理方法实现的,具体哪个方法呢?试验了几次,发现didEndDisplayingHeaderView这个方法是最好的。即当右边视图section移出视图十,更新左边内容。看代码:
![](https://img.haomeiwen.com/i3425738/274d2ea5366abbf8.png)
样式什么的比较难看,只是实现下这个效果,结果就是这样:
![](https://img.haomeiwen.com/i3425738/27ec3b8416f361ac.gif)
网友评论