我有这个具有约束的UIView,约束设置为父视图,即UIViewController,每次设置约束时,我都必须传递currentViewController以便执行此操作:

currentViewController.view.addConstraint(...)


我希望视图能够设置约束,无论它是哪种视图,我都希望赋予视图职责以将约束设置给它的父级,而不必将其作为参数传递,我该怎么做?我已经在Objective-C中看到了一些答案,但是我想在Swift中完成,但是我不知道该怎么做。

我试过使用view.superView,但是没有用。

最佳答案

是的,您应该明确地使用view.superview来设置约束。但是请注意,仅当视图是该层次结构的一部分时,才应添加约束,这意味着它应该已经在视图(view.superview != nil)内部。

作为流程,您应该首先将视图作为子视图添加到另一个视图,而不是根据view.superview调整约束。

关于ios - 从 View 访问UIViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36597589/

10-13 06:14