UITableView 是一个UIScrollview的子类,所以,它里面也是可以加其他view的,那么这个view和自身的UITableViewCell是什么关系和显示呢?
如果你用过nib或者storyboard,那么可以尝试拖一个UIView的控件到UITableView的里面,然后就会发现它会居于整个tableview的最上方,所以执行后也是如果这个view会把其他cells往下推,searchbar in tableviewcontroller就是这个原理,但是它会有些特殊的处理,因为默认tableview会滚动到cell的顶端,这可能是框架自己做的事情,如果想要custom就得自己来实现了,最后,如果想要动态disable这个view最好不要通过逻辑控制tableview的contentoffset,或者view的隐藏和frame,只要简单的把它addSubview到tableView或者removefromSupperview就Ok了