Tableview及其contentInset

时间:2016-12-14 04:06:39

标签: ios uitableview

我有一个mapView,其大小等于位于底部的屏幕,我有一个tableView位于mapview的顶部。我想得到的效果首先是我想看到地图的250点高度,然后,当我滚动tableView时,地图有150点高度。为此,我将表格框架的y设置为150,顶部插入设置为100:

enter image description here

现在,我可以向上滚动表格,还有150个点可以留给地图。但是,我面对这个策略的主要问题是topInset下方的区域仍然属于tableview,因此该区域的操作将移动tableview而不是mapView。

我想我需要建议: 1.解决问题的方法我只是做了一些事情 2.我有效实现目标的策略是什么?或者给我一些其他方法来做到这一点

谢谢!

1 个答案:

答案 0 :(得分:0)

不确定如何以自己的方式解决问题,但解决此问题的一种方法是在滚动tableview时更改高度限制。您不能忽略tableview上的触摸,topInset是tableview的一部分。因此,尽管您的解决方案似乎更正确,但它可能无效,只留下处理tableview滚动的唯一选项。

//After setting the tableviewDelegate

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
        float difference = self.lastContentOffset.y - scrollView.contentOffset.y;
        //Move the top accordingly with some if cases.
    self.lastContentOffset = scrollView.contentOffset;

}