1

Storyboard で構成された UIView があります。このビュー ( self.view) には 1 つの子、ボタン ( self.cartButton) があります。subviewコードの後半で、これに a を追加しviewます。

[self.view addSubview:self.cart.view];

私は次の方法を持っています:

- (void)openCart
{
    [UIView animateWithDuration:2 animations:^{
        self.cartButton.frame = CGRectMake(0.0f, 0.0f, self.cartButton.frame.size.width, self.cartButton.frame.size.height);
        self.cart.view.frame = CGRectMake(0.0f, 0.0f, self.cart.view.frame.size.width, self.cart.view.frame.size.height);
    }];
}

両方のオブジェクトを画面の上部に移動する必要があると思いますが、実際には、cartButton が一番下の位置にアニメーション化し、カート ビューが一番上に移動します。なぜこれが起こるのですか?どこかで座標系を台無しにしましたか?

更新: アニメーション (カート ビューのアニメーション) の 2 行目をコメント アウトするcartButtonと、一番上に移動します。

UPDATE2: それは私のcartView. これは一般的なビューです (ストーリーボードで作成されます)。たとえば、で同じアニメーションを実行しようとするとNavigationController、機能します。

UPDATE3: カート ビューにサブビューがない場合、正常に動作します。その中に何か (ボタン、navigationBar、何か...) があると、機能しません。

4

0 に答える 0