Uiview UIModalPresentationPageSheet位置?还是你的生日礼物?

Uiview UIModalPresentationPageSheet位置?还是你的生日礼物?,uiview,uiviewcontroller,xamarin.ios,modalviewcontroller,uipopover,Uiview,Uiviewcontroller,Xamarin.ios,Modalviewcontroller,Uipopover,注意:使用Monotouch并以编程方式完成所有UI 大家好, 我有个问题 我有一个主UIViewController对象,其中有两个UIView。该视图将在某些设备中执行命令,等等。我计划执行一些菜单,如下图所示,从左侧显示滑块效果。在这个菜单中,用户将选择一些按钮,这将改变另外两个UIView 我的问题是: 我计划使用模态视图控制器作为UIModalPresentationPageSheet,但它如何水平显示在屏幕中心。我想把它放在左边的中间。我怎样才能改变它 如果不可能,我应该使用UIPo

注意:使用Monotouch并以编程方式完成所有UI

大家好,

我有个问题

我有一个主UIViewController对象,其中有两个UIView。该视图将在某些设备中执行命令,等等。我计划执行一些菜单,如下图所示,从左侧显示滑块效果。在这个菜单中,用户将选择一些按钮,这将改变另外两个UIView

我的问题是:

我计划使用模态视图控制器作为UIModalPresentationPageSheet,但它如何水平显示在屏幕中心。我想把它放在左边的中间。我怎样才能改变它

如果不可能,我应该使用UIPopover吗

下图

多谢各位


Lyniker

我认为这两种方法都无法为您提供所需的动画效果。通常,我会选择使用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的左边界),并进行适当的计算以将“抽屉”组件移动到视图中。但这可能是任意的:-)

注意:如果DroperView是UIViewController/DialogViewController类型,请使用新的iOS 5自定义包含API,否则会出现严重的不稳定行为。请参阅我关于子视图控制器的博客文章: