UIModalPresentationPageSheet position? Или UIPopover?

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

Всем привет,

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

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

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

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

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

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

Спасибо.

Lyniker

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) и соответствующие вычисления, чтобы переместить компонент "Drawer" в поле зрения. Это может быть произвольным, хотя:-)

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

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

Другие вопросы по тегам