模态视图控制器在 iOS 7 上工作,在 iOS 6 上留下一个空白
Posted
技术标签:
【中文标题】模态视图控制器在 iOS 7 上工作,在 iOS 6 上留下一个空白【英文标题】:Modal view controller works on iOS 7, leaves a gap on iOS 6 【发布时间】:2013-09-27 23:37:59 【问题描述】:所以我有这个自定义 UIViewController 子类,我以-presentViewController:animated:
模态呈现(不将其推送到导航堆栈上)。我正在尝试让它在 ios 6 和 iOS 7 上都能很好地运行。
所述 VC 内置于 .xib 文件中(不涉及情节提要)。我在那里有一个自定义导航栏,以及其他一些 UI 元素。当我在 iOS 7 中运行它时,我得到了这个:
看起来是正确的;我的自定义 nag bar 正确地邻接状态栏。
但是,当我在 iOS 6 中运行相同的东西时,我得到:
请注意状态栏和我的自定义导航栏之间的黑色间隙(即视图的背景)。 :(
在 .xib 文件中,我将视图的内容从视图顶部向下移动了 20 个像素; 并且我将视图的“iOS 6/7 Deltas”用于 deltaY 设置为“-20”。这显然是行不通的。
我在这里错过了什么?!
【问题讨论】:
【参考方案1】:视图的“iOS 6/7 Deltas”的效果取决于“Interface Builder Document”检查器中指定的“View as”设置(选择“ View' -> 'Utilities' -> 'Show Utilities',然后单击实用程序窗格顶部最左侧的图标并查看负责的 'Interface Builder Document' 部分的 'View as' PopUpList)。
调整您的“iOS 6/7 Deltas”以适应当前不显示的 iOS 版本(例如,如果您已将 'View as' 设置为 'iOS7 和更高版本',调整 'iOS 6.1 和更早版本'的增量)。
因此,您的 "-20" deltaY 设置只有在您将 'View as' 设置为 'iOS 7.0 及更高版本 时才是正确的em>'。一旦您的设置正确,您就可以使用“View as”PopUpList,您的 VC 将永远看起来正确。
希望,这会有所帮助。
【讨论】:
以上是关于模态视图控制器在 iOS 7 上工作,在 iOS 6 上留下一个空白的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7:模态视图控制器状态栏颜色错误,但普通视图控制器正确