ユーザーがボタンをタップしたときに、メイン ビュー コントローラー ビューを右にスライドさせようとしています。私はこのコードを使用します:
[UIView animateWithDuration:1
delay:0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^(void){ self.view.left = 300; }
completion:nil];
その結果、view.frame.origin.x はデバイスの向きを考慮しません。画面が横向きの左の場合、x = 300 に設定してもビューは右に移動せず、下に移動します。方向に応じて関連するパラメーターを変更するために大きな switch ステートメントを実行できますが、そのような悪ふざけに頼ることなく以前にこれを実行したように感じます。明らかな何かが欠けていますか?
オプションなしで試してみましたが、違いはありません。
CGRectMake 全体を明示的に入力する必要がないように、UIView でカテゴリを使用しています。完全な CGRectMake ステートメントで実行しても、結果は同じです。