Ios addSubview破坏内部约束
我在动态地向彼此添加子视图时遇到一些问题。也就是说,当我在interface builder中构建了一个带有约束的视图,然后使用Ios addSubview破坏内部约束,ios,objective-c,uiview,autolayout,Ios,Objective C,Uiview,Autolayout,我在动态地向彼此添加子视图时遇到一些问题。也就是说,当我在interface builder中构建了一个带有约束的视图,然后使用[view addSubview:subview]时,它会销毁我设置的所有约束 我已经尝试添加[subview setAutoresizingMask:NO]以及subview.translatesAutoresizingMaskIntoConstraints=false 我预计子视图对其原始父视图的约束将被破坏,并在调用addSubview后以编程方式将它们重新添加,
[view addSubview:subview]
时,它会销毁我设置的所有约束
我已经尝试添加[subview setAutoresizingMask:NO]代码>以及subview.translatesAutoresizingMaskIntoConstraints=false代码>
我预计子视图对其原始父视图的约束将被破坏,并在调用addSubview
后以编程方式将它们重新添加,但我没想到其子视图的约束也会被破坏
不幸的是,重新添加子约束是不可行的。我们使用的架构是一个插件模型,虽然从主UIViewController
调整插件容器的大小非常简单,但插件需要负责定位其内部元素
下面是一个事物应该是什么样子的模型:
下面是它目前的样子:
如何获取addSubview
以维护这些内部约束?红色、绿色和蓝色框仅限于彼此和它们的父框(紫色),它们都是通过addSubview
实现的。我尝试了太多的方法,包括sizeToFit()和设置translatesAutoReshizingMaskintoConstraints,但都不起作用。您应该设置要添加为子视图的自定义视图的宽度,并且应该设置视图的sizeToFit()。这对我很有用:
bigView.sizeToFit()
subView.sizeToFit()
subView.width = screenWidth
bigView.addSubview(subView)
将View1添加为子视图时,如何定义其大小和位置?您正在使用约束吗?如果是,您要添加什么约束?其宽度、前导和顶部与新的父级绑定(宽度相等,其他为0)。高度是静态的。内部约束不应该丢失(我尝试时不会丢失)。您应该将TranslatesAutoResizengMaskintoConstraints设置为false,这样就可以了。我认为您必须更明确地说明您有哪些约束,因此显示如何加载和添加此视图的完整代码,以及您添加的约束。