2016-12-14 5 views
1

У меня есть mapView, размер которого равен экрану внизу, и у меня есть tableView, лежащий в верхней части mapview. Эффект, который я хочу получить, - это сначала я хочу увидеть 250 точек высоты карты, тогда, когда я прокручиваю таблицуView, высота карты составляет 150 точек. Чтобы сделать это, я поставил у из table`s кадра, чтобы быть 150, а верхняя вставка будет 100:Tableview и его содержимоеInset

enter image description here

Теперь я могу прокрутить таблицу и есть 150 очков, чтобы быть оставлены для карты. Но основная проблема, с которой я столкнулся в этой стратегии, заключается в том, что область под topInset по-прежнему принадлежит к tableview, поэтому действие в этой области будет перемещать табличное представление вместо mapView.

Мне кажется, что мне нужны советы для: 1. метод решения проблемы Я просто метион 2. является ли моя стратегия эффективной для достижения моей цели? или дать мне другой способ сделать это

Спасибо!

ответ

0

Не знаете, как бы вы решили проблему по-своему, но один из способов решения этой проблемы - изменить ограничения высоты при прокрутке таблицы. Вы не можете игнорировать штрихи в представлении таблицы, а topInset является частью таблицы. Поэтому, хотя ваше решение кажется более правильным, оно может не работать, оставив единственный способ обработки прокрутки таблицы.

//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

изменить высоту таблицыView или ее позицию y? – itenyh

+0

Высота карты выше, а положение y и высота таблицы. –

+0

Вам придется обрабатывать прокрутку вверх и прокручивать вниз оба. –

Смежные вопросы