У меня есть приложение, в котором я одновременно анимирую положение и размер UIView с изображением, вызывая setFrame внутри animateWithDuration, таким образом:
UIImage *image = [UIImage imageNamed: imageName];
[_faceView setImage: image];
[_faceView setFrame: CGRectMake(-40.0, 0.0, 40.0, 40.0)];
[UIView animateWithDuration:0.5 animations:^{
[_faceView setFrame: CGRectMake(80.0, 140.0, 160, 160)];
}
completion:^(BOOL finished) {}
При компиляции в Xcode 5 и запуске в iOS 7 или iOS 8 я получил правильное поведение, используя вышеуказанную методологию.
Теперь, компилируя в Xcode 6 (и, следовательно, в сравнении с SDK 8.0, что, как я полагаю, является определяющей разницей?) и работая в iOS 7 или iOS 8, этот код не дает правильного результата: кажется, что происходит то, что изображение анимируется до своего «естественного» размера, а не до указанного в CGRect.
Итак: (а) кто-нибудь знает, почему это может быть? и (б) в любом случае, основная проблема в том, что я делаю что-то не так? -- есть ли более "правильный" способ добиться анимации положения/размера изображения в UIView, который позволит достичь желаемого результата?
translatesAutoresizingMaskIntoConstraints
для этого - person sha   schedule 05.11.2014