混合自动调整掩码和自动布局可以吗?

问题描述:

我相信在使用Autolayout管理用户界面时,使用autoresizing进行方向更改会很好。混合自动调整掩码和自动布局可以吗?

所以很多程序员都在同一时间,建议对阵双方,但据我的理解应该罚款。

因为Autoresizingmask很容易玩。

我想在自动屏蔽本身变成局限实际上我相信

translatesAutoresizingMaskIntoConstraints

纠正我,如果我错了

如果它的好或不行可以在一些深入解释为什么?

据我所知,这是绝对正常的同时使用自动布局和autoresizingmasks在一起。您不想执行的操作是将自动布局约束添加到您正在使用自动调整遮罩来控制布局的视图。自动调整蒙版的一般用例是为视图添加一个视图,并希望它被固定为顶部,底部,顶部和尾部。在这种情况下,它只是

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中添加代码,以根据父界限手动调整视图的大小。你可以看到,这可能会变得乏味,特别是如果你是躲避由自动布局分开处理的视图。这可能是为什么使用两者时要小心的原因。我倾向于在简单的情况下使用它,比如添加一个贴图到超级视图边界的视图。

一起使用时的重要区别。

你应该避免自动布局约束添加到您正在使用自动尺寸口罩试图混合起来,实现了布局,因为你可能会得到冲突的约束,没有真正效果的图。但是,您可以将自动布局约束添加到具有受自动调整掩码管理的子视图的视图,并且不应该有任何问题。这是我典型的用例。我希望这可以帮助你如何使用它。