【问题标题】:iOS AutoLayout Problems - Subviews Misplaced Even Though No ConstraintsiOS 自动布局问题 - 即使没有约束,子视图也放错了位置
【发布时间】:2015-05-31 03:13:56
【问题描述】:

我有一个项目,其中我的一些视图使用约束,而其中一些并不真正需要,因为它们在其他设备尺寸上也能很好地显示。我的问题是,当我删除视图控制器的子视图中的所有约束时,即使我没有收到任何有关缺少约束的警告,子视图也会严重错位。

此外,当我尝试“将我的所有子视图重置为建议的约束”时,这不会增加任何约束,并且我会遇到放错位置的视图。

这可能是什么原因?使用约束非常棘手。

【问题讨论】:

    标签: ios objective-c iphone autolayout constraints


    【解决方案1】:

    因为,XCode 中的AutoLayout 是默认启用的。 即使您没有创建任何约束,XCode 也会在构建时自动创建一些约束,以便 iOS 知道如何呈现视图

    如果您想禁用自动布局,只需取消选中Use auto layout,如下图所示

    【讨论】:

    • 有没有办法告诉 Xcode 不要为某些视图控制器设置自己的约束?我开发了我的第一个应用程序,启用了自动布局,没有使用任何约束,结果非常好。
    • @Rafi 如果您不针对一个特定的视图控制器进行什么约束,则无法通过情节提要。但是您可以使用单独的 .xib 并禁用该 xib 的自动布局
    • 虽然我对这个坏消息感到失望......我想我别无选择禁用自动布局。我想我将不得不问另一个问题,关于如何在没有约束的情况下实现可滑动的表格单元格。多谢你们。 :)
    • 我还是有点困惑。从这个网站:raywenderlich.com/83129/…,我读到:“自动约束为您的视图提供了固定的大小和位置。换句话说,视图始终具有与您在情节提要中看到的相同的坐标。这非常方便,因为它意味着您可以在很大程度上忽略自动布局。如果默认的约束就足够了,你根本不添加约束,只为那些需要特殊规则的视图创建约束。显然这对我不起作用:(
    • 没关系,我发现我做错了,我的一些图像设置为纵横比填充,但我忘记检查“剪辑子视图”以确保图像大小相同。但是你们是对的。感谢大家的帮助!
    猜你喜欢
    • 2016-02-04
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多