我相信在使用自动布局管理 UI 时,使用自动调整大小来更改方向会很好。
很多程序员同时建议不要两者,但据我了解应该没问题。
因为 Autoresizingmask 很容易使用。
我认为自动调整蒙版大小本身实际上会变成限制
将AutoresizingMask翻译成Constraints
如果我错了请纠正我
如果可以或不可以,有人可以深入解释为什么吗?
据我所知,同时使用自动布局和自动调整大小蒙版是绝对可以的。您不想做的是将自动布局约束添加到您使用自动调整大小蒙版来管理布局的视图。自动调整蒙版大小的一般用例是将视图添加到视图并希望将其固定在顶部、底部、前导和尾随。在这种情况下,这很简单
let pinnedToSuper = UIView(frame: self.view.bounds)
//all views default to .translatesAutoresizingMaskIntoConstraints if added programmatically
pinnedToSuper.autoresizingMask = [.flexibleWidth,.flexibleHeight]
self.view.addSubview(pinnedToSuper)
请注意,与添加每个约束相比,这要容易得多。
在自动布局之前,自动调整大小遮罩是 iOS 必须帮助布局的全部内容。注意,自动调整大小蒙版也称为弹簧和支柱。自动调整大小蒙版崩溃的一个示例用例是,如果您希望视图保持完美的正方形(或形成圆形),保持纵横比,并在所有方向上调整视图的大小。在这种情况下,您必须在layoutSubviews中添加代码,以根据父边界手动调整视图大小。您可以看到,这可能会变得乏味,尤其是当您避开由自动布局单独处理的视图时。这可能就是为什么在使用两者时要小心的原因。我倾向于在简单的情况下使用它,例如添加一个坚持超级视图边界的视图。
一起使用时的重要区别。
您应该避免尝试将自动布局约束添加到您正在使用自动调整大小蒙版来尝试混合它们并实现布局的视图,因为您可能会遇到没有实际效果的冲突约束。但是,您可以将自动布局约束添加到具有受自动调整大小蒙版控制的子视图的视图,并且应该不会有任何问题。这是我的典型用例。我希望这对您如何使用它有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)