![]() |
1
38
您可以修改视图控制器的框架,但是如果您使用的是UIViewController的-presentModalViewController:animated:method,那么一旦您的模式视图在屏幕上完成动画设置(这假设您在iPhone上),并且您将看到一个白色屏幕,背景视图应该在其中。iOS假设您的模式视图控制器是一个全屏视图控制器,并转储另一个视图以节省内存。 如果确实要在屏幕的一部分显示视图,则应将UIView(无UIViewController)作为子视图添加到当前UIViewController的视图中,然后在屏幕上自行设置动画。我认为这样的东西在您的UIViewController类中可以工作,该类将显示视图:
对于加分,您可以通过设置
在UIView动画块之前,并设置
在设置中心属性的动画后在块内。 完成后,您可以执行类似但相反的操作,将视图滑出屏幕。您可以将animationDidStop选择器添加到UIView动画块中,以便在视图滑出屏幕时得到通知,从而可以将其从视图层次结构中移除。 从美学的角度来看,你也应该注意如何做到这一点,因为视图向上滑动是一种标准行为,如果你的视图看起来像正常视图,但中途停止,用户可能会感觉(甚至短暂地)应用程序已冻结。他们会解决的,但如果不小心处理,会给你的应用留下不好的感觉。主要地,我会避免使用标准的全屏提示,比如在视图顶部包含一个UINavigationController,以帮助用户了解发生了什么。半张纸往往是iPhone上的UIActionSheets,所以请往这个方向想。 |
![]() |
2
26
这很好,上面接受的答案解释了一个不错的黑客来呈现子视图,感觉像ModalViews,但如果它是一个iPad,我真的可以给它一个modalViewController,不覆盖整个屏幕。 如果是ipad,我不认为下面的视图会被卸载。(因为我们可以在ipad上展示modalView,但不能覆盖整个屏幕) ModalViewController在最后是一个控制器本身,和其他任何控制器一样,它有一个根视图,如果我们能掌握它的话,它的属性可以被编辑。 以下是将为您提供定制的ModalView框架:
|
![]() |
3
20
我要补充@dsaw的回答,模态视图的超视图似乎没有在横向模式下旋转其坐标系。以下是我在自己的应用程序中使用的代码:
虽然superview可能不会随iPad旋转,但如果我在显示模式视图后旋转iPad,它似乎做了正确的事情,并使模式视图居中。 |
![]() |
Zash__ · 以高于其他VC的方式呈现VC-两者均可触摸 7 年前 |
![]() |
Yunwei.W · iOS从两级模态视图控制器传递值 10 年前 |
![]() |
Benzino · 应用关闭时关闭Modal应用商店 11 年前 |
![]() |
Sharme · 模式视图在ios 6.0中调整大小,工具栏位于视图的中间 12 年前 |
![]() |
thavasidurai · 如何自定义UAModalPanel 12 年前 |
![]() |
Polina · 模式视图控制器上的模拟内存警告会清除上一个控制器的内容 12 年前 |
![]() |
sbjluke · 在模式视图控制器中保留文本字段的文本 12 年前 |
![]() |
JRulle · 解除多个视图控制器的委派问题 12 年前 |