【问题标题】:iOS layout view to fill device screeniOS 布局视图填充设备屏幕
【发布时间】:2023-03-22 17:00:02
【问题描述】:

这应该是一个非常基本的问题,但我已经尝试了很多东西,但它不起作用。 :/

我有一个由单个全屏自定义视图组成的单一视图应用程序。我在视图控制器的主视图上设置了视图类,但状态栏总是覆盖在我的视图上。

Apple 说要解决这个问题,将您的视图限制在顶部布局指南中,但这需要我将视图移动为主视图的子视图。所以我移动了它,但现在我无法设置约束来简单地让我的视图填充 100% 的垂直和水平空间。

我尝试在代码中使用约束、堆叠视图以及我能找到的任何东西,但无济于事。

所以,希望简单的问题是,我怎样才能使视图控制器大小的主视图的单个 UIView 子视图填充容器并说明状态栏? UIView 是一个自定义类,所以如果需要代码,我可以这样做。

我尝试过覆盖适合方法的内在和大小,但结果很糟糕。

【问题讨论】:

    标签: ios uiview autolayout swift2 custom-component


    【解决方案1】:

    试试这个:

    0.假设您有一个名为 AAA 的 View(不是 ViewController)的自定义类。

    1. 在 Main.storyboard 中,将“视图”从对象库拖到您的 ViewController。称之为 ViewB。

    2.设置viewB布局和约束

    3.选择视图B并转到其识别检查器(右侧面板上的第三个小按钮)

    4.在class部分:写成:AAA

    希望这会对你有所帮助。

    【讨论】:

      【解决方案2】:

      您可以通过编程方式执行此操作:

        let childView: UIViewCustom = UIViewCustom()
        childView.frame = rootView.frame
        childView.bounds = rootView.bounds
        rootView.addSubview(childView)
      

      或通过 IB: 首先选择您的 childView,然后单击 XCode 右下角的 pin 按钮,禁用 Constrain to margins,然后单击每个红色条并将其设置为零约束。最后点击添加4个约束

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-26
        • 1970-01-01
        • 1970-01-01
        • 2017-12-30
        • 2016-07-01
        • 2015-01-31
        • 1970-01-01
        • 2015-01-27
        相关资源
        最近更新 更多