UIButtons不移动

时间:2013-07-12 15:02:56

标签: ios objective-c animation uiview uibutton

我是iOS开发的新手,我有一个问题,我在过去两天没有解决。 问题是: 我有一个ViewController,在视图的右边缘有一些UIButtons。它们是使用Interface Builder制作的。 有UIView,它位于左边缘。 开头可以看到按钮和UIView。 此外,右侧有一个UIView,它位于可见区之外。 我需要有一个动画作为结果,左侧视图向左移动,超出可见性,右边缘的按钮到达左边缘,右视图到达视图的中心。 我做了一个代码:

[UIView animateWithDuration:0.5 animations:^{
        self.p.center = CGPointMake (self.p.center.x-260, self.p.center.y);
        self.dimensionButton.center = CGPointMake (self.dimensionButton.center.x-260, self.dimensionButton.center.y);
        self.speedButton.center = CGPointMake (self.speedButton.center.x-260, self.speedButton.center.y);
        self.temperatureButton.center = CGPointMake (self.temperatureButton.center.x-260, self.temperatureButton.center.y);
        self.volumeButton.center = CGPointMake (self.volumeButton.center.x-260, self.volumeButton.center.y);
        self.weightButton.center = CGPointMake (self.weightButton.center.x-260, self.weightButton.center.y);
        self.currencyButton.center = CGPointMake (self.currencyButton.center.x-260, self.currencyButton.center.y);
        self.calculationScreen.center = CGPointMake(self.calculationScreen.center.x-260, self.calculationScreen.center.y);

    }];

按钮不会向左移动,但两个视图都没有,我不知道为什么。 我试着像这样重制动画: 不要将按钮和视图移动到左侧,而是将self.view移动到右侧。 但我遇到了问题:右视图上的按钮(calculateScreen)根本不起作用(甚至没有触摸动画)。

2 个答案:

答案 0 :(得分:0)

感谢您的帮助。

事实上,问题出在Auto Layout系统中。它试图保存Button右边缘与self.view右边缘之间的距离。该距离等于0,因此按钮不想向左移动。通过删除按钮属性上的勾选“使用自动布局”来解决问题。

答案 1 :(得分:0)

更改他们的transform,而不是更改他们的center。这就是它的意思。