2016-12-14 10 views
1

私はmapViewを持っています。そのサイズは画面の一番下にあります。私はmapviewの上にtableviewを置いています。私が得たい効果は、最初に地図の高さ250ポイントを見たいと思っています。次に、私がtableViewをスクロールすると、マップの150ポイントの高さがあります。これを行うために、私は150であることをtable`sフレームのYを設定し、トップインセットは100であることを:TableviewとそのcontentInset

enter image description here

今、私はテーブルをスクロールすることができ、150ポイントが残されるためにそこにあります地図のために。しかし、この戦略で直面した主な問題は、topInfoの下の領域がまだtableviewに属しているため、その領域のアクションによってmapViewの代わりにtableviewが移動することです。

私はアドバイスが必要だと思っています: 1.私はちょうどメトイドされた問題を解決する方法 2.効果的に私の目的を達成するための私の戦略ですか?または私にこれを行うための他の方法を教えてください

ありがとう!

答えて

0

どのように問題を解決するかわかりませんが、これを解決する方法の1つは、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

スクロールアップとスクロールの両方を処理する必要があります。 –