UIPopover 中显示时的 UINavigationController 内容偏移
Posted
技术标签:
【中文标题】UIPopover 中显示时的 UINavigationController 内容偏移【英文标题】:UINavigationController content offset when displayed in UIPopover 【发布时间】:2014-10-07 14:31:54 【问题描述】:我有一个视图,我将其加载到 UINavigationController 中,并在 iPad 上显示为弹出框或在 iPhone 上显示为模态视图。
我遇到的奇怪现象是,当此导航显示在弹出窗口中时,它的内容会出现偏移或下推约 60 像素。下面是这个现象的截图。
目前出现这种情况是因为我将最高约束设置为 80,以补偿 iPhone。如果我将其设置为更直观的值,例如 10 或 20,标签将完全隐藏在 iPhone 导航栏下,而弹出框会显示正确。
有什么建议吗?我知道我可以根据它是在模式还是弹出窗口中手动调整顶部约束,但我宁愿更改导航栏上的某些属性以禁用偏移或类似的东西,因为 Apple 现在不推荐使用设备成语:- (
提前致谢。
【问题讨论】:
【参考方案1】:尝试在 StoryBoard 上设置 Adjust Scroll View Insets 并检查 Extended Edges 设置。
@property(nonatomic,assign) BOOL automaticallyAdjustsScrollViewInsets NS_AVAILABLE_ios(7_0); // Defaults to YES
@property(nonatomic,assign) UIRectEdge edgesForExtendedLayout NS_AVAILABLE_IOS(7_0); // Defaults to UIRectEdgeAll
@property(nonatomic,assign) BOOL extendedLayoutIncludesOpaqueBars NS_AVAILABLE_IOS(7_0); // Defaults to NO, but bars are
【讨论】:
有没有办法以编程方式设置这些?我没有使用故事板,所以我没有这些选项。以上是关于UIPopover 中显示时的 UINavigationController 内容偏移的主要内容,如果未能解决你的问题,请参考以下文章