ipad屏幕右半边的模态视图?

Posted

技术标签:

【中文标题】ipad屏幕右半边的模态视图?【英文标题】:Modal view at right half of ipad's screen? 【发布时间】:2012-06-04 12:54:17 【问题描述】:

我需要使用以下参数修改视图的模式表示:

1 - 模态视图仅填充 ipad 的右半部分屏幕。 2 - 动画从屏幕的左半边开始运行。

我在 iosframeworks.com、cocoacontrols.com、big nerd rach 的书籍、ios 食谱、ios 突破极限、*** 和谷歌中进行了搜索。有可能这样做吗? 感谢您的帮助

为了测试,经过两天的搜索答案,我创建了以下代码,我正在执行以下代码,因为根视图控制器CMMainView,视图控制器CMVistaModal为空,它没有任何覆盖的方法,也没有xib或另一个变量,设备系列是 iPad

-(IBAction)accion:(id)sender


CMVistaModal *modal = [[CMVistaModal alloc] init];

[modal setModalPresentationStyle:UIModalPresentationFormSheet];

[self presentViewController:modal animated:NO completion:nil];
[modal.view.superview setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight];
[modal.view.superview setFrame:CGRectMake(800, 120, 200, 500)];
[UIView animateWithDuration:1 animations:^
    modal.view.superview.transform = CGAffineTransformMakeTranslation(-200, 0);
];

我怎样才能执行相同的操作但覆盖 CMVistaModal 中的方法?

【问题讨论】:

【参考方案1】:

当然。只需创建一个新视图并将其添加到您现有的视图中并将其设置为动画即可。您可以让另一个视图出现在它后面,阻止对其他视图的任何触摸。

【讨论】:

【参考方案2】:

一切皆有可能。这仅取决于您希望投入多少工作。

所以标准的UIModalPresentationFormSheetUIModalPresentationPageSheet 是免费提供的。但是你想要的不是标准的,所以你必须自己烤。

我在这里要做的是创建一个“假”模式。

XYViewController -> Container View

Container View -> Semi Opaque blocker
               -> Half Screen Content

拦截器覆盖整个屏幕并立即进入并阻止与 UI 其余部分的交互

然后使用标准帧动画从左侧对“半屏内容”进行动画处理。你如何选择关闭这个假模态取决于你,但如果它从左边进来,也许它应该离开左边。

【讨论】:

我如何呈现它?带有消息 [self presentViewController:modal animated:NO completion:nil]; ? 不,你为自己编写的一堆演示代码。这不是标准的,所以不是免费的。

以上是关于ipad屏幕右半边的模态视图?的主要内容,如果未能解决你的问题,请参考以下文章

iPad上的模态表单视图控制器 - 淡入黑色

如何通知父视图控制器模态视图控制器中更改的屏幕方向?

iPad 模态控制器在旋转后被解散

iPad 上的快照模式视图控制器出现非圆角

以编程方式在主视图控制器上加载模态视图控制器

在 Ipad 上的模态视图上插入子视图