2015-11-16 2 views
0

Итак, я работаю над Google Maps-приложением, и мне нужно определенное поведение. При нажатии маркера я хочу «Детальный вид», отображаемый ниже для всплывания. Если вы просматриваете эту деталь, я хочу, чтобы она охватывала весь экран и отображалась «БОЛЬШАЯ ДЕТАЛИ». Если проскользнуть, он закроет его.Часть просмотра с раскадрой

My ideal behavior

Я просто не могу понять, как реализовать это поведение. Просмотр контейнера? Просто регулярный распознаватель жестов UIView? Модальный переход?

Я не прошу ввести код, просто некоторые слова, чтобы привести меня на правильный путь.

Редактировать: Для тех, кто ищет такого рода поведение, каждый ответ ниже отлично. Я пошел с видом контейнера, так как подробный вид выполняет некоторые сетевые запросы и работает UITableView.

+0

Вы можете сделать подробный и более подробный вид на scrollView и установить смещение содержимого по умолчанию, чтобы отображалось только подробное изображение, отключить прокрутку на scrollView, добавить жест распознаватель, а затем после распознавания жестов снова включите прокрутку и прокрутите подробный вид вверх. – NSGangster

+0

Привет @MatthewLawrenceBailey, я пробовал ваш подход, но я должен признать, что я не испытываю UIScrollViews. Мне удалось вычислить правильное смещение, но когда я начну прокручивать его, все внутри прокрутки просматривает прыжок вверх на половину экрана, вместо того чтобы следовать за моим пальцем. Знаете ли вы, что я сделал не так? – Mattias

+0

прокрутки имеют подзону под названием contentView, которая должна быть больше, чем scrollView, чтобы она прокручивала, что происходит, потому что ContentView не проходит мимо нижней части экрана, достаточной для его удержания, вот ссылка на apple docs на scrollViews размер содержимого https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/#//apple_ref/occ/instp/UIScrollView/contentSize – NSGangster

ответ

1

Можно сделать с помощью жесты «Пан», и я бы сказал, имея Parent ViewController (Контейнер) и Child ViewController вместо UIView. Дайте мне знать, если вам понадобится дополнительная помощь :)

+0

Мне удалось сделать это с помощью UIView. Почему вы предпочитаете Контейнер? Мне бы хотелось узнать больше! – Mattias

+0

Я использую одну и ту же функциональность в одном приложении. Я предпочитаю подход контроллера контейнера, потому что таким образом вы определяете логику основного вида (здесь его Карта) и вытягиваете вид. И его более многоразовый :) – sanjana

+0

Я пробовал свой путь, и он отлично работает. Тем не менее, теперь я оживляю вертикальный интервал контейнеров с ограничением «Верхняя направляющая», чтобы сделать привязку вида. Этот подход порядочный или страшный? Пример. Когда отображается только верхнее подробное представление, я устанавливаю ограничение на размер экрана - topView.frame.height. – Mattias

1

перейти с UIView и UIGestureRecognizer, это будет быстрее и проще. Модальный segue не охватывает всю страницу, как вы хотите, и контейнерный просмотр - это слишком много работы, чтобы надеть только простую вещь.

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