如何显示自定义模态 UIView?
Posted
技术标签:
【中文标题】如何显示自定义模态 UIView?【英文标题】:How to display custom modal UIView? 【发布时间】:2011-04-19 01:43:56 【问题描述】:我正在尝试在所有其他视图之上显示一个自定义 UIView,使其在纵向和横向中都能正常工作。我目前这样做的方式是创建一个透明的黑色视图,它基本上使整个屏幕变暗,然后在其上添加我的自定义视图。一切都很好,除了它在风景中不会定位自己的属性。我认为这是由于我添加视图的方式:
UIWindow* mainWindow = (((MyAppDelegate*)[UIApplication sharedApplication].delegate).window);
[mainWindow addSubview:self];
似乎无论实际设备方向如何,mainWindow 始终处于纵向状态,因此即使我处于横向状态,我的自定义视图也会像处于纵向模式一样显示颠倒。我的主视图控制器是一个导航控制器,它在它上面添加了几个自定义视图,所以我真的不想通过我的视图一直向下传递对它的引用,这样我就可以在上面使用它。
我的问题最后是我如何正确地将我的自定义视图添加到主窗口,以便它在横向和纵向中正确定位,并且仍然显示在整个屏幕上。
谢谢
【问题讨论】:
iphone还是ipad?哪个控制器拥有您要添加到 mainWindow 的“自我”?为什么不能让主 viewController 推送模态视图? 同意;最简单的方法是从根视图控制器调用 presentModalViewController。 【参考方案1】:创建并生成具有更高 zorder 的新 UIWindow,并向其添加视图控制器。视图控制器具有处理视图旋转的内置逻辑。
【讨论】:
以上是关于如何显示自定义模态 UIView?的主要内容,如果未能解决你的问题,请参考以下文章
如何实现可以显示图像或作为输入属性提供的自定义 UIView 的 CollectionViewCell?