【问题标题】:UIViewController doesn't adjust content insets when shown by another UIViewController (within a UINavigationController)UIViewController 在由另一个 UIViewController(在 UINavigationController 内)显示时不会调整内容插入
【发布时间】:2017-08-25 03:32:01
【问题描述】:

我有一个导航控制器,其根是视图控制器(首先调用它)。这个第一个视图控制器有一个按钮,按下时会显示另一个视图控制器(称为第二个)。第二个视图控制器有一个覆盖整个视图的 UITextView。

在情节提要中,UITextView 中的示例文本正确地从标题栏下方(但不在下方)开始。换句话说,它的内容插入设置正确。

但是,当我运行应用程序并点击第一个视图控制器的按钮以显示第二个视图控制器时,文本位于标题栏下方。文本视图的内容插入为零。

为什么文本视图的顶部内容插图没有自动调整以适应标题栏?

我创建了一个显示问题的“最小”应用程序:https://github.com/redcurry/TestContentInsets

注意:我使用的是 Xamarin,但我想同样的问题也会发生在 iOS 中(我还没有测试过)。

【问题讨论】:

    标签: ios xamarin uiviewcontroller uitextview uiedgeinsets


    【解决方案1】:

    在第二个视图控制器中,请取消选中“调整 ScrollView Insets”复选框。

    【讨论】:

    • 那行不通。文本视图仍在导航标题栏下方。
    • 可以调整一下textView的top约束试试吗
    • 调整到什么程度?
    • 如果您使用顶部布局指南将文本视图的顶部约束(顶部空间)设置为 0。如果您增加顶部空间,即值 > 0,那么它将随后下降。请不要忘记根据您的设计为文本视图提供其他约束(如尾随空格、前导、底部空格或高度)
    【解决方案2】:

    你可能正在寻找这个

    您的视图是从 navigationController 下开始的。 你只需要设置这个。

    【讨论】:

    • 如果有帮助请告诉我。
    • 抱歉,这没用。文本仍在导航标题栏下方。
    • 抱歉,我无法为 xamarin 提供帮助,
    • 我曾经在本机中将上述解决方案应用于此类问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多