Анимация UIView с UIButtons в качестве подпредставлений - PullRequest
0 голосов
/ 20 октября 2011

Как я уже сказал в заголовке, я пытаюсь анимировать UIView, который имеет несколько кнопок UIB в качестве подпредставлений. Моя цель - сделать рамки вида и кнопки больше. Вот мой код:

// Animate Frame Changes
    [UIView animateWithDuration:0.5 animations:^ {
        self.frame = CGRectMake(200, 50, 700, 600);

        for (UIView *subview in self.subviews) {
            if ([subview isKindOfClass:[UIButton class]]) {
                UIButton *button = (UIButton *)subview;
                button.frame = CGRectMake((button.frame.origin.x * 2) , (button.frame.origin.y * 2), (button.frame.size.width * 2), (button.frame.size.height * 2));
            }
        }
    }];

Сам код работает нормально. Однако кнопки меняют свой кадр быстрее, чем родительский вид, что делает анимацию немного неловкой.

Как лучше всего оживить их с той же скоростью?

1 Ответ

0 голосов
/ 24 октября 2011

Вот обходной путь, с которым я решил пойти.Я выкладываю это на тот случай, если у кого-то возникнет такой же вопрос.В коде, который я разместил выше, я изменяю все атрибуты фреймов, что вызывает неравномерную скорость анимации для разных видов и подпредставлений.Чтобы устранить этот эффект, я изменяю только координаты x, y вместо всего кадра, а затем применяю CGAffineTransform к моему общему виду, который увеличивает все содержимое.

...