我在我的 iPad 应用程序中使用 UISplitViewController,我真的不喜欢弹出窗口 View 滑入并覆盖屏幕的三分之一并在纵向模式下停留在那里的方式。
当弹出窗口滑入 View 时,我正在调整详细信息 View 的大小,这工作正常,除了顶部的导航栏保持全宽(并在弹出窗口下方)。 我基本上希望它看起来像在横向模式下一样。
这是我用来调整 View 大小的代码:
UIViewController *masterView = [svc.viewControllers objectAtIndex:0];
UINavigationController *detailNavView = [svc.viewControllers objectAtIndex:1];
UIViewController *detailView = [detailNavView.viewControllers objectAtIndex:0];
detailView.view.frame = CGRectMake(masterView.view.frame.size.width, 0, detailView.view.frame.size.width - masterView.view.frame.size.width, detailView.view.frame.size.height);
我已尝试设置detailNavView.view.frame
但没有任何反应。
如何调整包括导航栏在内的整体详细 View 的大小?
最佳答案
嗯,我认为 UISplitViewController
并不是那么灵活。这只是 Apple 决定的事情:横向拆分,纵向弹出。详细 View 占据了该 Controller 的整个 View (即主视图),因此您必须将其定义为另一种 Controller 的主视图的 subview 才能像这样操作其导航栏。
自定义纵向 View 的唯一解决方案是实际取消 Apple 版本的 Split View Controller 并推出自己的版本。
也许最实用的解决方案是在选择项目并显示在详细 View 中后关闭弹出窗口。
关于ios - UISplitViewController - 调整详细 View 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15294495/