信,
Android不使用自动版式来计算视图组件和类似的CSS(层叠样式表)的框架,它使用的视图分量的相对值相对于母体,边缘或其它对等观点来计算视图的位置。
但在iOS的当u使用自动布局,您可以定义哪些是数学表达式的约束和iOS评估他们找到的实际值各种组件:)的帧
请告诉我它的意义是什么?
因为自动布局约束是数学表达式,所以您必须提供iOS足够的数据来计算未知值。
让我们考虑,

正如你可以看到粉红色的看法有从绿色视图一个固定的水平间距,所以iOS的计算从绿色的maxX的位置粉红视图的x坐标位置查看+绿色和粉红色视图之间的水平间距:)
现在假设你在绿色视图中调用view.GONE并完全移除绿色视图,现在iOS会很困惑,因为它不知道粉红色视图的x位置是什么,现在它没有足够的数据来计算粉色视图的x位置:)
这是否意味着我无法在iOS中实现View.GONE?
你可以!!实际上只是:P
如何?
两种方式:
方式1
不能删除视图,因为这将导致其离开取决于它处理的帧计算所有联合国其他视图。因此,考虑设置宽度和高度约束的常量的意见值设置为“0”
添加高度和宽度限制到要隐藏,并创建一个IBOutlet中,以高度和宽度的限制的观点。
现在,当你想隐藏简单地说,
self.greenViewHeightConstraint.constant = 0
self.greenViewWidthConstraint.constant = 0
self.view.layoutIfNeeded()
呀!现在你有一个视图,其宽度和高度为0,我的意思是存在但不存在!
路2
但是,你真的凭着使用方法1是否删除它???不。您可以使用方式2

我希望你在这里看到的是,现在我知道,如果我删除视图1,图2无法计算其x位置什么实际删除视图,所以我创建了一个领先约束从View2到Parent左边距,并将其优先级设置为High,并将其常量设置为0:
现在,只要所需(1000)约束条件足以计算值,该约束就不会发挥作用,现在假设你删除视图1,视图2的框架不能与所需的限制来计算,因此高约束踢它说你的粉红色的看法应该是从父母0像素留有余量:)
呀:)你实现你想要的东西,现在你居然取出绿色的观点和粉红色视图仍然没有失去它的框架:)
如何在地球上你删除的绿色观点?
是不是这个问题?对不起,我被带走了:)
你可以这么说self.greenView.removeFromSuperview()
什么View.GONE在android? –
如果我没有错,你不想使用View.GONE来使用View的布局空间。我对吗?? –
in ios'GONE'不能在这个地方使用'enabled或hidden property' –