0

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

大家好,

我有个问题。

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

这是我的问题:

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

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

下图

在此处输入图像描述

谢谢你。

莱尼克

4

1 回答 1

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

于 2012-01-04T21:24:09.140 回答