经常在以下应用中看到这样的效果:在tableview的上边,有一个背景图片,当向下拖动tableview时,顶部的背景图片自动变大,当tableview被放回的时候,图片自动还原。
一:效果图:
正常图片:
向下拖动图片:
二:原理如下:
1,假如,控制器就是tableviewcontroller,设置tableview的顶部内边距,将tableview的顶部留出来。
2,在tableview中,放入一个imageview,一定要放入最底部,将imageview设置大一点
3,设置imageview的内容模式为等比例拉伸(这是最重要的)
4,当tableview拖动的时候,计算拖动的距离。如果是向下拖动,将imageview的高度变大,那么,宽度会自动变大,这样,上边的图片看起来就会等比例变大。当tableview向上反弹或者向上拖动的时候,这时候,要注意了,imageview就不在自动变了,维持先前的大小。
三:示意图:
四:事例代码:(为了方便,就直接将控制器整成一个tableviewController)
1 | #import "CZViewController.h" |