Ios 可以将自动调整大小的遮罩与自动布局混合使用吗?

Ios 可以将自动调整大小的遮罩与自动布局混合使用吗?,ios,autolayout,constraints,autoresizingmask,adaptive-layout,Ios,Autolayout,Constraints,Autoresizingmask,Adaptive Layout,我相信在使用自动布局管理UI时,使用自动调整大小进行方向更改会很好 许多程序员同时反对这两种方法,但据我所知,这应该是好的 因为Autoresizingmask很容易使用 我认为自动调整掩码本身会变成约束,我相信 翻译自动调整大小GMaskintoConstraints 如果我错了,请纠正我 如果可以或不可以,可以深入解释一下原因吗?据我所知,同时使用自动布局和自动重新设置屏幕是绝对可以的。您不想做的是向使用自动调整大小遮罩来控制布局的视图添加自动布局约束。自动调整遮罩大小的一般用例是将视图添加

我相信在使用自动布局管理UI时,使用自动调整大小进行方向更改会很好

许多程序员同时反对这两种方法,但据我所知,这应该是好的

因为Autoresizingmask很容易使用

我认为自动调整掩码本身会变成约束,我相信

翻译自动调整大小GMaskintoConstraints

如果我错了,请纠正我


如果可以或不可以,可以深入解释一下原因吗?

据我所知,同时使用自动布局和自动重新设置屏幕是绝对可以的。您不想做的是向使用自动调整大小遮罩来控制布局的视图添加自动布局约束。自动调整遮罩大小的一般用例是将视图添加到视图中,并希望将其固定在顶部、底部、前导和尾部。在这种情况下,它只是

let pinnedToSuper = UIView(frame: self.view.bounds)
//all views default to .translatesAutoresizingMaskIntoConstraints if added programmatically
pinnedToSuper.autoresizingMask = [.flexibleWidth,.flexibleHeight]
self.view.addSubview(pinnedToSuper)
请注意,这比添加每个约束要容易得多

在自动布局之前,所有iOS都必须帮助设置自动调整大小的掩码。抬头自动调整大小的遮罩也称为弹簧和支柱。自动调整大小遮罩分解的一个示例用例是,如果您希望视图保持一个完美的正方形(或形成一个圆),保持纵横比,并在所有方向上随视图调整大小。在这种情况下,您必须在LayoutSubView中添加代码,以便根据父边界手动调整视图的大小。您可以看到,这可能会变得单调乏味,尤其是当您避开由autolayout单独处理的视图时。这可能就是为什么在使用两者时都要小心的原因。我倾向于在简单的情况下使用它,例如添加坚持SuperView边界的视图

一起使用时的重要区别

应避免尝试将自动布局约束添加到使用自动调整大小遮罩尝试混合它们并实现布局的视图中,因为可能会得到冲突的约束,而不会产生实际效果。但是,您可以将自动布局约束添加到具有由自动调整大小遮罩控制的子视图的视图中,并且不应存在任何问题。这是我的典型用例。我希望这能帮助你如何使用它