【问题标题】:Swift - UIButton is not pinning to the bottom of the screenSwift - UIButton 没有固定在屏幕底部
【发布时间】:2021-06-25 19:09:34
【问题描述】:

我无法将 UIButton 固定到我的 UIViewController 的底部,(如果有帮助,有一个标签栏)。 这是 UIButton 的约束。

最初,一切正常,但自从我向应用程序添加 iPad 支持后,我遇到了问题。在 iPad 上,UIButton 固定在屏幕底部,位于标签栏的正上方。但是在 iPhone 上,底部有这个空白。

我尝试了什么 做了一些研究,我发现有时拆分视图控制器会导致灰条,我添加了这行代码来解决它并修复了底条,但是这个约束问题仍然让我很头疼。

self.extendedLayoutIncludesOpaqueBars = true

iPad 视图层次结构

iPhone 视图层次结构

【问题讨论】:

  • 尝试取消选中“限制到边距”
  • 您的视图层次结构是什么样的?您将底部约束固定在什么位置?尤其是 ScrollView 可能会导致锁定问题,因为 iphone 和 iPad 之间的差异可能是由视图其他部分中的硬编码值引起的。
  • @isaacthedev 您已添加 ipad VH,但缺少 iphone 一个
  • 如果可能请添加演示项目链接
  • @isaacthedev 请分享控制器 xml。

标签: ios swift xcode uisplitviewcontroller


【解决方案1】:

您可以在 Xcode 上选择根据屏幕大小改变约束。

您可以创建两种约束,一种适用于 iPad,一种适用于“经典”iPhone。

在这里,如果我在变体期间创建新约束,然后我可以在右侧窗口中选择您希望在哪个变体上安装约束。

关于那个here有一个完整的话题

【讨论】:

    【解决方案2】:

    删除当前的约束并尝试取消选中“约束到边距”按钮。

    【讨论】:

    • 如果我这样做,它可以在 iPhone 上运行,但不能在 iPad 上运行
    【解决方案3】:

    尝试将约束设置为 View 而不是 SafeArea

    【讨论】:

      【解决方案4】:

      1- 给它一个恒定的高度,例如 40

      2- 设置约束时,取消选中(约束到边距)

      3- 给它一个与超级视图 0.8 成比例的宽度约束

      注意 1:如果您不想给它一个固定的高度,您可以执行相同的步骤 3,但高度不是 0.8,但可能是 0.2 到更少,具体取决于您的设计。

      注意2:你可以使用滚动视图,它会让你很容易

      【讨论】:

        猜你喜欢
        • 2011-06-27
        • 2023-03-08
        • 2020-04-14
        • 1970-01-01
        • 2019-05-08
        • 2013-01-29
        • 2016-09-17
        • 2022-11-18
        • 2019-01-25
        相关资源
        最近更新 更多