两个相似的动画表现不同

时间:2013-03-12 15:22:36

标签: ios animation views coordinates

我通过Storyboard配置了UIView。此视图(self.view)有一个子项,一个按钮(self.cartButton)。在代码的后面,我向subview添加了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动画到最底部位置,并且购物车视图到顶部。为什么会这样?我在哪里弄乱了坐标系吗?

更新:如果我在动画中注释掉第二行(动画购物车视图),cartButton会飞到顶部。

UPDATE2:它与我的cartView有关。它是一个通用视图(在Storyboard中创建)。当我尝试使用NavigationController进行相同的动画时,它可以正常工作。

更新3:如果我的购物车视图没有子视图,则可以正常工作。如果它中有任何内容(一个按钮,navigationBar,任何......),它就不起作用。

0 个答案:

没有答案
相关问题