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
、何か...) があると、機能しません。