我正在尝试在触摸时将视图从缩略图设置为全屏视图。当视图处于缩略图模式时,它是UITableView.tableFooterView的子视图。当我设置为全屏幕动画时,我会在更新约束之前将视图移动到控制器的根视图。我这样做是因为tableview剪辑了子视图。
这是完美的,但是当我尝试进行反向动画时,它并不那么容易。在更新约束之前,我必须首先将缩略图视图移回UITableView.tableFooterView的子视图。然后我撤消约束(基本上将它们设置为最初的位置)。这有效,但动画看起来并不正确,因为一旦视图移回UITableView.tableFooterView,它就会被UITableView再次剪裁,动画部分隐藏在所有的tableview装饰背后!
我的想法是获取约束的计算框架并执行旧式框架动画,然后安装约束。
在没有实际安装这些约束的情况下,是否有一种已知的方法可以在给定一系列约束的情况下询问布局系统?
感谢。
答案 0 :(得分:1)
我认为没有这样的方式。
请注意,您定义的约束(NSLayoutConstraint
)不是唯一的约束。其他约束由视图的属性定义(例如内在内容大小,拥抱优先级等)。
我想这可以通过自动调整而不是自动布局更好地工作。
另一种解决方案是在表格页脚中使用隐藏的占位符视图。当您将视图返回到页脚时,您可以只询问占位符的框架。