2016-12-14 52 views
1

我有一個mapView的大小等於底部的屏幕,我有一個tableView躺在mapview的頂部。我想要得到的效果是,首先我想看到地圖的250點高度,然後當我滾動tableView時,地圖的高度爲150點。要做到這一點,我設置table`s幀的y爲150,和頂部邊界爲100:Tableview和它的contentInset

enter image description here

現在,我可以滾動該表並沒有要離開150點爲地圖。但是,我爲這個策略所面臨的主要問題是topInset下方的區域仍然屬於tableview,因此該區域的動作將移動tableview而不是mapView。

我覺得我需要的建議是: 1.解決問題的方法我剛好碰上了 2.是我有效實現目的的策略嗎?或者給我一些其他的方式來做到這一點

謝謝!

回答

0

不知道如何以您的方式解決問題,但解決此問題的一種方法是每當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; 

} 
+0

改變tableView或其y位置的高度? – itenyh

+0

上面的地圖的高度,以及tableview的y位置和高度。 –

+0

你將不得不處理向上滾動和向下滾動。 –

相關問題