gpt4 book ai didi

uinavigationcontroller - iOS7 : UIScrollView offset in UINavigationController

转载 作者:行者123 更新时间:2023-12-03 04:31:30 26 4
gpt4 key购买 nike

我目前正在将我的应用程序迁移到 iOS 7 上,并且在新的导航 Controller /栏管理上已经卡了好几个小时了。

之前,当我们有导航 Controller 时,我们有这样的代码片段:

UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[[MainViewController alloc]init]];

在界面构建器中,我们可以选择为 View 设置现有的导航栏,并且所有内容都与真实 View 的内容相匹配。

好吧,现在我不知道如何使用界面生成器正确设计。我仍然有我的代码片段来初始化我的导航 Controller 。但是,在 MainViewController 的界面生成器中,如果我将状态栏设置为半透明或不透明导航栏,则顶部的偏移量为 44px(见下文)。


界面生成器_________________________和结果


现在,如果我将状态栏设置为无,则顶部没有偏移,但由于模拟器上的 View 由于导航栏而较小,因此界面生成器中 View 的底部被切断。

界面生成器_________________________和结果

我想我真的错过了一些东西,但我在 iOS7 转换指南中找不到任何主题或苹果信息。

感谢您的帮助


编辑

正如我们在图片中看到的, View 的第一个 subview 是包含两个标签的 UIScrollView,当没有 ScrollView 时不会出现该问题。如果它是 UITableView,它也会出现。如果标签位于 UIScrollView 之外,则该标签没有偏移量。

最佳答案

好的,我找到了解决方案,我在 Controller 中设置了属性:

self.automaticallyAdjustsScrollViewInsets = false

尽管如此,我并不真正理解此属性的真正好处(或者为什么默认值为 true)

我找到的唯一文档就在那里:

更新

在 iOS 11 中,automaticallyAdjustsScrollViewInsets 已弃用

您现在应该使用:

self.tableView.contentInsetAdjustmentBehavior = .never

我还鼓励您检查this question及其答案以更好地理解这些属性

关于uinavigationcontroller - iOS7 : UIScrollView offset in UINavigationController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com