1

iPhone 5 の大きな画面用に iPhone アプリを更新していますが、 に問題があるようanimateWithDuration:です。自動レイアウトをオンにする前は、UITextField がファーストレスポンダーになるとインターフェイス要素が画面のわずかに上に移動し、UITextField がファーストレスポンダーのステータスを失うと元の位置に戻りました。今、彼らは無計画に画面から飛んだり消えたりしていますが、その理由はわかりません. 以下のコードでオブジェクトを移動します (これは autolayout をオフにして動作しました):

[UIView animateWithDuration:.25 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
    int offset = 160;
    [object1 setFrame:CGRectMake(0, -offset, object1.frame.size.width, object1.frame.size.height)];
    [object2 setFrame:CGRectMake(object2.frame.origin.x, object2.frame.origin.y-offset, object2.frame.size.width, object2.frame.size.height)];
    [object3 setFrame:CGRectMake(object3.frame.origin.x, object3.frame.origin.y-offset, object3.frame.size.width, object3.frame.size.height)];
             }
                 completion:^(BOOL finished){}];

定数でオブジェクトを移動しようとすることと関係がありますか? に設定offsetしても0、すべてのオブジェクトが画面から飛び出します。デバイスの画面を検出し、オブジェクトをさまざまな量だけ移動しようとしましたが、それもうまくいきませんでした。誰にもアイデアはありますか?

前もって感謝します!

4

1 に答える 1