【问题标题】:UIModalPresentationPageSheet position? Or UIPopover?UIModalPresentationPageSheet 位置?还是 UIPopover?
【发布时间】:2012-01-05 05:24:09
【问题描述】:

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

大家好,

我有一个问题。

我有这个主 UIViewController 对象,里面有 2 个 UIVIews。此视图将在某些设备等中执行命令。我打算做一些菜单,从左侧出现滑块效果,如下图所示。在这个菜单中,用户将选择一些按钮,这将改变另外两个 UIView。

这是我的问题:

我打算将模态视图控制器用作 UIModalPresentationPageSheet,但它如何水平显示在屏幕中心。我想把它放在左边的中间。怎么改?

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

下图

谢谢。

莱尼克

【问题讨论】:

    标签: uiview uiviewcontroller xamarin.ios modalviewcontroller uipopover


    【解决方案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 类型使用新的 iOS 5 自定义容器 API,否则你会得到一些严重的异常行为。在此处查看我关于子视图控制器的博文:

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

    【讨论】:

      猜你喜欢
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多