str*_*eem 126 uinavigationbar uinavigationcontroller ios7
我目前正在ios 7上迁移我的应用程序,并且我已经在新的导航控制器/栏管理上被困了几个小时.
之前,当我们有导航控制器时,我们有一个这样的片段:
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[[MainViewController alloc]init]];
Run Code Online (Sandbox Code Playgroud)
在界面构建器中,我们可以选择为视图设置现有导航栏,并且所有内容都与实际视图的内容相匹配.
好的,现在,我不知道如何使用界面构建器正确设计.我仍然有我的片段来初始化我的navcontroller.但是在我的MainViewController的界面构建器中,如果我将状态栏设置为半透明或不透明的导航栏,我的顶部偏移量为44px(见下文).
Interface Builder_________________________和结果
现在,如果我将状态栏设置为无,则顶部没有偏移,但由于导航栏导致模拟器上的视图较小,因此界面构建器中视图的底部被切断.
Interface Builder_________________________和结果
我想我真的在这里遗漏了一些东西,但我在iOS7 Transitions Guide中找不到任何主题或苹果信息.
谢谢你的帮助
编辑
正如我们在图片中看到的那样,视图的第一个子节点是包含两个标签的UIScrollView,当没有scrollview时,问题不会出现.如果它是UITableView也会出现.如果标签位于UIScrollView之外,则该标签没有偏移量.
str*_*eem 286
好的,所以我找到了解决方案,我在控制器中设置了属性:
self.automaticallyAdjustsScrollViewInsets = false
Run Code Online (Sandbox Code Playgroud)
我真的不明白这个属性的真正好处,(或者为什么默认值为true)
我发现的唯一文件是:
更新
在iOS 11 automaticallyAdjustsScrollViewInsets
中已弃用
你现在应该使用:
self.tableView.contentInsetAdjustmentBehavior = .never
Run Code Online (Sandbox Code Playgroud)
我也鼓励您检查这个问题及其答案,以便更好地了解这些属性
Myx*_*tic 92
@ Justafinger的答案对我来说也像是一种魅力.
只是想补充一点,也可以从界面构建器轻松调整此设置.
小智 11
我遇到了同样的问题,但我在界面构建器中的ViewController上发现了一个相当奇怪的属性,似乎已经为我造成了这个问题.有一个"Extend Edges"复选框.我删除了"Under Top Bars"检查,一切都开始适合我.
归档时间: |
|
查看次数: |
47814 次 |
最近记录: |