Позиция UIModalPresentationPageSheet? Или UIPopover?

Примечание. Использование Monotouch и выполнение всего пользовательского интерфейса программно.

Всем привет,

У меня есть вопрос.

У меня есть этот основной объект UIViewController, и внутри него есть 2 UIVIews. Это представление будет выполнять команды на некоторых устройствах и т. д. Я планирую сделать какое-то меню с эффектом ползунка, появляющимся с левой стороны, как показано ниже. В этом меню пользователь выберет несколько кнопок, и это заставит изменить два других UIViews.

Вот мой вопрос:

Я планирую использовать Modal View Controller как UIModalPresentationPageSheet, но как он может отображаться в центре экрана по горизонтали. Я хотел бы поставить его по центру с левой стороны. Как я могу это изменить?

Если это невозможно, должен ли я использовать UIPopover?

Изображение ниже

введите здесь описание изображения

Спасибо.

Линикер


person Lyniker Aoyagui    schedule 03.01.2012    source источник


Ответы (1)


Я не думаю, что любой из них даст вам эффект анимации, который вы хотите. В общем, я бы предпочел скользить в представлении, используя анимацию UIView:

if(IsDrawerVisible == false) {
    UIView.Animate(0.5, () => {

        DrawerView.Frame = new RectangleF(
            this.View.Bounds.Left + 300, 
            DrawerView.Frame.Y, 
            DrawerView.Frame.Width, 
            DrawerView.Frame.Height);

    }, UIViewAnimationOptions.CurveEaseIn); 
}
else {
    // Move the frame of the DrawerView by subtracting from Frame.X
}

Конечно, вам нужна контрольная точка (обычно левая граница родительского UIView) и выполнение соответствующих вычислений, чтобы переместить компонент «Ящик» в поле зрения. Хотя это может быть произвольным :-)

ПРИМЕЧАНИЕ. Если DrawerView имеет тип UIViewController / DialogViewController, пожалуйста, используйте новые API-интерфейсы настраиваемого ограничения iOS 5, иначе вы получите серьезное шаткое поведение. См. мой пост в блоге о контроллерах дочернего представления здесь:

http://blog.devnos.com/wont-somebody-please-think-of-the-children

person Anuj    schedule 04.01.2012