![](/img/trans.png)
[英]Resizing Detail View Controller in UISplitViewController [ iPad landscape only]
[英]UISplitViewController - Resizing Detail View
我在我的iPad应用程序中使用UISplitViewController,我不喜欢弹出视图滑入的方式,覆盖屏幕的三分之一,并在纵向模式下保持不变。
我正在调整详细信息视图的大小,当弹出窗口滑入视图,这工作正常,除了顶部的导航栏保持全宽(并在弹出窗口下面)。 我基本上希望它在横向模式下看起来像它。
这是我用来调整视图大小的代码:
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
但没有任何反应。
如何调整整体详细视图的大小,包括导航栏?
嗯,我认为UISplitViewController
并不是那么灵活。 这只是苹果公司决定的事情:在风景中分开,在肖像中流行。 详细视图占据了该控制器的整个视图(即主视图),因此您必须将其定义为另一种控制器的主视图的子视图,以便像这样操纵其导航栏。
自定义纵向视图的唯一解决方案是实际取消Apple版本的拆分视图控制器并自行滚动。
也许最实用的解决方案就是在选择项目并在详细视图中显示后解除弹出窗口。
答案是UISplitViewController的preferredPrimaryColumnWidthFraction属性 - 将其设置为0.0-1.0以指定主视图占用的相对间距。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.