注意:使用Monotouch并以编程方式执行所有UI。
大家好,
我有一个问题。
我有这个主要的UIViewController对象,里面有2个UIVIews。这些视图将在某些设备中执行命令等。我打算做一些菜单,左侧出现滑块效果,如下图所示。在这个菜单中,用户将选择一些按钮,这将改变另外两个UIViews。
这是我的问题:
我打算将模态视图控制器用作UIModalPresentationPageSheet,但它如何能够在屏幕的中心出现。我想把它放在左侧的中心。我怎样才能改变它?
如果不可能,我应该使用UIPopover吗?
下面的图片
谢谢。
Lyniker
答案 0 :(得分: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 请使用新的iOS 5自定义包含API,否则您将获得一些非常不稳定的行为。请在此处查看有关子视图控制器的博客文章:
http://blog.devnos.com/wont-somebody-please-think-of-the-children