2013-06-24 5 views
0

У меня есть несколько элементов пользовательского интерфейса в наконечнике, которые расположены с использованием автовыбросов и ограничений. Когда вид нагрузки я перемещать элементы с экрана при использованииСтранные результаты с использованием CGAffineTransformIdentity

[self.button setTransform:CGAffineTransformMakeTranslation(-self.button.frame.origin.x * 2 + self.button.frame.size.width, 0)]; 

тогда, когда вид появляется я использую следующие, чтобы облегчить кнопку в нужное место на странице. Однако, похоже, он слишком далеко продвигается.

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 
[UIView setAnimationDuration:2]; 
    [self.button setTransform:CGAffineTransformIdentity]; 
[UIView commitAnimations]; 

Я делаю что-то неправильно? Есть ли лучший способ переместить кнопку с экрана с помощью CGAffineTransform?

Любая помощь будет большим

+0

Похоже, что первоначальный кадр данной кнопки не то, что вы ожидаете это будет. Где кнопка, если вы закомментируете первую строку кода здесь, которая перемещает кнопку на экране. –

+0

Кнопка появляется на экране в правильной позиции, если я прокомментирую первую строку, поэтому я смущен, почему CGAffineTransformIdentity не работает. Я предполагаю, что это связано с автоопределением и ограничениями –

+0

: в первую очередь вы должны использовать блочную анимацию. – holex

ответ

1

Проблема была вызвана autolayout, и лучший способ для анимации элементов пользовательского интерфейса при использовании autolayout, чтобы изменить ограничения