1

簡単な翻訳でタップすると上に移動するボタンのあるビューがあります。ただし、CGAffineTransformTranslate を使用すると、UIButton も数ポイント下に移動するようです。このアニメーションを修正するにはどうすればよいですか?

- (IBAction)moveButton:(id)sender {
    UIButton *button = (UIButton *)sender;

    [UIView animateWithDuration:2.4f
                          delay:0.0f
                        options:UIViewAnimationOptionCurveEaseInOut
                     animations:^{

                         button.transform = CGAffineTransformTranslate(button.transform, 0, -49);
                     }
                     completion:^(BOOL finished){}
     ];

}

現時点でどのように見えるか

4

1 に答える 1

1

あなたのコードは正常に動作します。問題は別の場所にあるはずです。

翻訳の妨げになるようなレイアウト作業をどこかで行っていないことを確認してください。ボタンに Autolayout 制約を設定している場合、これが原因で表示されている動作が発生する可能性があります。File Inspectorでこれの Autolayout をUIView(少なくとも一時的に) 無効にして、そうであるかどうかを調べることができます。

変換を適用する代わりに、ボタンのフレームを変更することを検討してください。

于 2013-07-01T15:42:26.883 に答える