-1

我是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)上的按钮根本不起作用(甚至没有触摸动画)。

4

2 回答 2

0

感谢您的帮助。

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

于 2013-07-15T10:00:41.107 回答
0

改变他们transform而不是改变他们center。这就是它的意义所在。

于 2013-07-15T13:13:46.390 回答