Контроллер модального представления с MapView и TableView
Я пытаюсь повторить основные функциональные возможности поиска магазинов в новом приложении Starbucks (MapView с табличным представлением ниже), но не уверен в том, как мне поступить в реализации скользящего аспекта представления представления
Основным аспектом функциональности, которую я пытаюсь воспроизвести, является возможность представить модальное изображение и запретить его, сдвинув его вниз с экрана, поскольку я уже могу скопировать представление "Карта + таблица".
3 ответа
Я думаю, что это просто viewcontroller, содержащий 2 основных вида:
- Фоновый вид, включая вкладки и вашу личную информационную страницу, которая находится под вкладками.
- Представление таблицы, занимающее весь экран.
- раздел 0: заголовок: пустой заголовок / нет ячеек
- раздел 1: заголовок: строка поиска / 1-я ячейка: mapView, пересекающая его границы для покрытия заголовка раздела / других ячеек: местоположения
- Всякий раз, когда вы прокручиваете "слишком много", они определяют. Они делают анимацию, чтобы скрыть вид таблицы
- Чтобы это выглядело как модальный вид, они делают угол карты закругленным.
https://www.cocoacontrols.com/controls/kipulltoreveal Просто создайте собственную ячейку, и вы сможете сделать ее идентичной.
Хорошо из Gif, который вы опубликовали, кажется, что Starbucks просто представляет контроллер представления модально, что очень легко сделать.
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
YourViewController *yourVC= (YourViewController *)
[storyboard instantiateViewControllerWithIdentifier:@"yourView"];
[self presentViewController:yourVC animated:YES completion:nil];
Что касается отклонения представления, вам необходимо установить ViewController's
interactivePopGestureRecognizer делегируют себя и затем обрабатывают его поведение в -gestureRecognizerShouldBegin:
То есть, если вы хотите, чтобы встроенный поп-жест ( - popViewControllerAnimated:) сработал, вы должны вернуть YES из этого метода. То же самое касается ваших пользовательских жестов - вы должны выяснить, с каким распознавателем вы имеете дело.