24750


iOSのキーボードのような機能を実装するため、animateWithDurationを用いて  
特定の操作後にUIViewを画面外から画面内にスライド表示させ、  
そのUIViewに対し何かしらの操作できるよう実装しましたが、  
そのUIView上のUILabelのテキストを変更したり、  
その他のUIViewにSubViewを追加したりしたタイミングで、  
画面内に表示させたUIViewが(アニメーションもなく瞬時に)画面外に戻り、  
最初に画面内の該当箇所にあったUIViewが表示されてしまいます。

操作をしてもUIViewが画面外に戻らなくしたいのですが、原因が全くわからず手がつけられません。  
どなたかご教示いただけますでしょうか。


CC BY-SA 3.0
2016-05-11T02:51:57.403
24734
2016-05-11T07:45:29.327
2016-05-11T04:50:06.570
15449
15449
question
ios objective-c
iOSで画面外から画面内にアニメーションでUIViewをスライドさせた後、その配下の要素の設定変更をするとUIViewが画面外に戻ってしまう


animateWithDurationで座標値によるアニメーションを行うUIViewに対して、AutoLayoutで制約を指定していて、アニメーション後もその制約がそのままになっているため制約に従って位置が変わっているのではないでしょうか？もしそうであれば、アニメーション後に制約を変更してみてはどうでしょう。


CC BY-SA 3.0
2016-05-11T07:45:29.327
24750
2016-05-11T07:45:29.327
7374
24734
answer