【问题标题】:setting navigationcontroller bar to opaque moves detail scroll view down将导航控制器栏设置为不透明会向下移动详细滚动视图
【发布时间】:2014-04-08 02:26:25
【问题描述】:

我正在为我的 MasterController 中的 UITableview 使用搜索栏和控制器。当视图出现时,MasterController 中的导航栏是黑色的,直到视图完全加载(不知道为什么?)。为了解决这个问题,我设置了self.navigationController.navigationBar.translucent = false; 这解决了我最初遇到的导航栏为黑色的问题,但现在看起来当我单击 MasterController 的 uitableview 中的一个单元格时,加载的 DetailView 中的内容向下移动大约搜索栏的大小,但它只是已移动内容上方的空白空间......当我删除 MasterController 中的半透明属性时,DetailView 中的内容很好并且没有移动......

所以我的问题是,是什么将这些内容向下移动,我怎样才能阻止内容被移动并且有一个不透明的导航栏......

【问题讨论】:

    标签: ios iphone objective-c uitableview mobile


    【解决方案1】:

    在 iOS 7 中,默认情况下,当包含在 UINavigationController 中但不在不透明的导航栏上时,您的视图控制器的视图会在半透明导航栏下扩展。如果您希望视图控制器也可以在不透明的导航栏下扩展,您可以设置视图控制器的 extendedLayoutIncludesOpaqueBars 属性。

    当您说滚动视图在细节视图控制器上移动时,可能是因为它的 y 原点未设置为零以偏移您在半透明导航栏下扩展的视图,而是因为您的导航栏现在不透明并且您的视图没有在它下面延伸,空间现在是可见的。

    更多的视图控制器实际上会自动在它们包含的滚动视图上添加插图,这样当视图控制器视图在导航栏下扩展时,它们的内容就不会被遮挡。它由 automaticAdjustsScrollViewInsets 属性设置,默认设置为 YES。

    【讨论】:

    • 我继续人为地将它们向上移动,即使它在故事板中看起来很愚蠢,它仍然有效。不过,这都是很好的信息。它帮助我更好地理解了滚动视图。谢谢。
    • 它帮助了我。谢谢!
    猜你喜欢
    • 2015-11-11
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 2013-05-09
    • 2021-11-21
    • 2016-09-02
    • 2019-11-29
    相关资源
    最近更新 更多