Подтвердить что ты не робот

Отрегулируйте рамку представленного представления в UIPresentationController после презентации

Я использую пользовательский контроллер представления, чтобы сделать что-то похожее на UIAlertView. Я хочу, чтобы он двигался вверх, когда показывает клавиатура. В обработчике UIKeyboardWillShowNotification я захватываю новый фрейм клавиатуры, сохраняя его в свойстве, а затем вызываю:

self.presentedView.frame = [wself frameOfPresentedViewInContainerView];

В моей реализации -frameOfPresentedViewInContainerView я учитываю текущую высоту клавиатуры.

Это работает отлично, но он чувствует себя немного грязным, чтобы напрямую изменить рамку self.presentedView. Я попробовал запуск макета в представлении контейнера с различными перестановками setNeedsLayout и layoutIfNeeded, но ничто не приводит к тому, что представленное представление перемещается, а не просто устанавливает его рамку напрямую.

Есть ли лучший способ сделать это, чем просто изменить сам кадр?

4b9b3361