0

_transitButtonクリックして呼び出しonTransitButtonDidClickて移動したい_rightView。問題は、設定したとおりにボタンが実行できないことですself.transitButton.frame = CGRectMake(0, 0, 30, 20);

アップデート:

_transitButton元のフレームは(0,280,30,20) 結果です。ボタンは元のフレームからに移動します(0,0,30,20)が、すぐに元のポイントに戻ります。なぜ戻ったの?

この問題を解決する理由と方法は?

- (IBAction)onTransitButtonDidClick:(id)sender {
    [UIView animateWithDuration:0.3
                      delay:0.0
                    options:UIViewAnimationCurveEaseInOut
                 animations:^{
                     [_rightView setFrame:CGRectMake(40,0,320,548)];
                     [_transitButton setFrame:CGRectMake(0,0,30,20];
                 }
                 completion:nil];
}
4

1 に答える 1

3

xibで自動レイアウトを使用していて、制約によってボタンが所定の位置に保持されます。アニメーションでは、制約がアニメーションに対して評価されていないため、機能しているように見えます。

したがって、このxibのAUTOLAYOUTをオフにするか、適切な制約を変更してください。

(小さなサンプルアプリでこれを試しましたが、それだけです。)

于 2012-11-18T10:14:30.643 に答える