2016-03-24 11 views
0

Autolayout + Constraintsを使用すると、実行時にオブジェクトのTRUE frameをどのように見つけることができますか?iOS - 実行時にビューの制約を見つけ出す

私はUIButtonを画面の右上隅に拘束しています。
実行時にこのボタンのframeをログアウトすると(viewDidLoad)、私はそのxの値が500であると言われています - もちろん正確ではありません(もしあれば、ボタンは画面外になります)。 しかし、私はConstraintsを使用していますが、ボタンはオフスクリーンではなく、右上隅にうまく収まります。

だから私はその真のx値が何であるかを調べようとしています。

*は、最終的に私が達成しようとしている何本ある:ユーザーが離れて、​​このオブジェクトをドラッグできるようにする必要があり、ある時点でのアプリケーションは、元の位置にオブジェクトバックをアニメーション化する必要があります。

これを行う方法に関するご提案はありますか?

+0

ビューのフレームは親ビューとの相対的な関係にあるため、ビューの階層によっては500が正しい場合があります。 –

答えて

0

viewDidLoadではなくviewDidLayoutSubviewsのフレームをNSLogする必要があります。 Autolayoutは、viewDidLoadの画面に合わせてサブビューをレイアウトしません。

+0

ああ男 - それは明らかだった:-)最大の "DUH !!!"当時の。あなたは過去の午後11時を教えていただけますか?私は明らかに脳死で、実際には袋に当たって、その日に中止するべきだ。いずれにせよ:ありがとう! – Sirab33

0

viewDidAppear()メソッドで制約を記録するようにしてください。

関連する問題