0
A
回答
1
约束是“视图的一部分”。当你删除一个视图(使用removeFromSuperview
)时,他们会保留这个视图,只要视图本身没有被释放。然后,您可以再次安全地添加视图,并且约束将处理定位。
将其与视图的框架进行比较:即使从超级视图中删除视图,框架也会保持不变。当您将视图添加为子视图时,它将处于与之前完全相同的位置。
所以,要回答你的问题:当你用另一个视图“交换”视图时,新视图不会有任何约束。这是行不通的:
[newView addConstraints:[oldView constraints]];
这将导致“视图没有层次”的错误,因为约束绑oldView
。
相关问题
- 1. Autolay iOS与单uiviewcontroller和多视图
- 2. 使用Autolay约束在父视图中居中视图
- 3. 交换android视图
- 4. iPhone dev视图交换
- 5. 使用NSTreeView交换视图
- 6. 交换ListView项目视图
- 7. 交换视图的模型?
- 8. 交换视图动画
- 9. 视图交换技术
- 10. UITableviewcell中的Autolay问题其中有Uitableview作为子视图
- 11. Autolay编程
- 12. Autolay约束左
- 13. 交换tabview控制器内的视图
- 14. 如何交换MAAttachedWindow的视图
- 15. 两个视图的交换位置
- 16. 在窗口中交换视图
- 17. 仍然难以正常交换视图
- 18. 交换根视图控制器
- 19. 转换交叉表查询到视图
- 20. 滚动视图,按钮事件交换
- 21. UIView动画交换视图(滑下)
- 22. 如何在angularJS中交换视图?
- 23. Android:交换两个重叠视图
- 24. backbone.js - 解除绑定和交换视图
- 25. Android:交换2个视图的位置
- 26. 交换视图 - NSWindowController和NSViewController(s)
- 27. Programatic Autolay UI元素
- 28. 在容器视图中交换子视图
- 29. 交换图像
- 30. Autolay在界面生成器
因此,我们不应该尝试从视图“复制”约束到替换视图...?我仍然试图饶恕一个约束包含的东西。我怀疑这个API最终会变得更好。但是,如果我理解正确,一个约束与一个或两个视图对象的关系紧密结合。 – uchuugaka
没有运气,你说的加回来和框架是一样的。事实上,我得到一个零框架。 – uchuugaka
所以实际上,当我重新添加子视图时,它不会出现。我一定做错了什么。 – uchuugaka