iOS - 在运行时查找视图的约束

时间:2016-03-24 02:55:22

标签: ios objective-c swift autolayout constraints

使用Autolayout + Constraints时,如何在运行时找到对象的TRUE frame

我有一个UIButton限制在屏幕的右上角。
但是当我在运行时(frame)注销这个Button的viewDidLoad时,我被告知它的x值是500 - 这当然不准确(如果是的话,那个按钮)将离开屏幕。) 但是因为我使用的是Constraints,所以按钮不在屏幕外,它在右上角很好地塞进了应有的位置。

所以我试图找出它的真正x值是什么。

*最终我想要达到的目的是:用户需要能够将此对象拖离,并且在某些时候App需要为对象 设置动画 < / strong>到原来的位置。

有关如何执行此操作的任何建议吗?

2 个答案:

答案 0 :(得分:0)

你必须NSLog不在viewDidLoad中的框架,而是viewDidLayoutSubviews。 Autolayout不会将子视图布局为适合viewDidLoad中的屏幕。

答案 1 :(得分:0)

尝试在方法viewDidAppear()中记录约束。