質問: iOSのキーボードのような機能を実装するため、animateWithDurationを用いて 特定の操作後にUIViewを画面外から画面内にスライド表示させ、 そのUIViewに対し何かしらの操作できるよう実装しましたが、 そのUIView上のUILabelのテキストを変更したり、 その他のUIViewにSubViewを追加したりしたタイミングで、 画面内に表示させたUIViewが(アニメーションもなく瞬時に)画面外に戻り、 最初に画面内の該当箇所にあったUIViewが表示されてしまいます。 操作をしてもUIViewが画面外に戻らなくしたいのですが、原因が全くわからず手がつけられません。 どなたかご教示いただけますでしょうか。
回答: animateWithDurationで座標値によるアニメーションを行うUIViewに対して、AutoLayoutで制約を指定していて、アニメーション後もその制約がそのままになっているため制約に従って位置が変わっているのではないでしょうか?もしそうであれば、アニメーション後に制約を変更してみてはどうでしょう。