1

Резюме: Я пытаюсь реализовать панорамирование жест, который работает точно так же, как Apple, по умолчанию пан назад жест (interactivePopGestureRecognizer). Единственное различие заключается в том, что он полностью привязывается к основному виду контроллера splitview, а не просто возвращает один вид в стек. Это достигается с помощью popToRootViewController.Добавление совершенно иной вид за текущий вид

Что я могу сделать в данный момент: Мой подкласс UIScreenEdgePanGestureRecognizer способен следовать прикосновение пользователя и анимации в нужном месте на основе того, где они поднимают свой палец. То есть, если они немного переместили представление, он вернется к исходной позиции, и распознаватель жестов будет сброшен. Если пользователь перемещает его вправо достаточно далеко и отпускает (минус порог, который немного меньше, чем на полпути по экрану), тогда представление соскальзывает с правой стороны экрана, а основной вид открывается на вид.

Что мне нужно: Двигаясь мой вид сверху детали справа, я хотел бы использовать снимок я взял первичной точки зрения, как это было прежде, чем я перемещаться в сторону, чтобы показать ПОЗАДИ мой ток Подробный вид (я использую моментальный снимок для создания UIImageView - позволяет называть его «dummyMasterview»). Моя проблема в том, что такие функции, как addSubView, по-видимому, помещают dummyMasterview в качестве фона в этом представлении. Я хочу, чтобы плавно вытащить верхний вид вправо, чтобы открыть под ним образец dummyMasterview. Затем, когда я отпущу, я буду анимировать представление соответствующим образом (всплывающее полностью вниз до моего фактического корневого представления, если порог был пересечен). До сих пор мне удалось использовать addSubview и другие методы subview для размещения этого изображения в качестве фона в текущем представлении. Не как совершенно новый взгляд на него.

+0

Последний бит немного сложно выполнить. Не могли бы вы добавить аннотированный снимок экрана или диаграмму, чтобы продемонстрировать ситуацию? –

+0

Я только что понял - я отправлю его в виде отдельного ответа и добавлю изображения (как только я вернусь домой) того, что я имел в виду специально, в случае, если у кого-то еще есть такая же проблема. –

ответ

1

Хорошо, я понял это ... Мне не удалось добавить мое «dummyMasterview» за видимым в настоящее время видом (назовем его currentView), потому что я добавлял его как подкласс currentView. Это приводит к тому, что dummyMasterview просто набрасывается прямо поверх currentView, а не позади него. Для того, чтобы разместить dummyMasterview за CurrentView вы должны сделать dummyMasterview подвид главного окна:

// Create a dummyMasterView from the image and add it as a subview of the main 
// window so it appears behind the current visible view while panning 
UIWindow* mainWindow = [[UIApplication sharedApplication] keyWindow]; 
UIImageView* dummyMasterView = [[UIImageView alloc] initWithImage:dummyMasterImage]; 
UIView* mainWindowSubview = mainWindow.subviews[0]; 

//Add dummyMaster to main window subview. 
[mainWindowSubview addSubview:self.dummyMasterView]; 

//Move it to the back so it doesn't cover up currentView 
[mainWindowSubview sendSubviewToBack:self.dummyMasterView]; 

Так в принципе, я был глуп, чтобы предположить, что подтаблицы из CurrentView будет расположен за CurrentView. Поскольку я хотел, чтобы появилось совершенно новое представление позади currentView, новое представление должно было быть родным от currentView. То есть, как currentView, так и dummyMasterView теперь представляют собой оба окна основного окна. Картинки будут опубликованы для уточнения, как только я получу шанс.

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