我经常需要一个不填满整个屏幕的自定义模式对话框,例如 iOS SDK 附带的操作表。这个对话框必须处理一些棘手的场景和条件,例如界面旋转,并且还经常携带大量代码来处理用户选择。因此,将对话框构建为常规视图+控制器组合并使其像 UI 中的一等公民一样工作似乎是非常可取的。
presentModalViewController:animated:
系统模态控制器 API(
控制器包含 API 看起来很有前途,因为它允许同时在屏幕上显示多个视图,每个视图由不同的控制器管理。(这正是常规视图控制器顶部的模态对话框的情况。)但是正如我发现的那样UINavigationController
,与标准容器控制器(如 )的相互作用是不稳定的。
有没有人有一种可行的技术可以将非全屏模式对话框保持为常规视图控制器并让它们与 UI 的其余部分很好地配合?