iphone - оживить вид на новую ширину и высоту - PullRequest
3 голосов
/ 29 августа 2010

Следующее анимирует вид на верхнюю левую часть экрана (ipad):

[UIView beginAnimations:@"anim" context:nil];
[UIView setAnimationDuration:5];
[UIView setAnimationDelegate:self];
    someView.frame = CGRectMake(0, 0, 1024, 768);
[UIView commitAnimations];

Однако, это не изменяет размер представления (представьте себе UIImageView, который я хочу взорвать).Я предполагаю, что мне нужно как-то сделать это с преобразованием, но все, что я могу понять, это как масштабировать, вращать и переводить (CGAffineTransformMakeRotation, CGAffineTransformMakeScale, CGAffineTransformMakeTranslation)

Как преобразовать представление в конкретныйпрямоугольник?Я не хочу просто увеличивать масштаб.Мне нужно растянуть его до 1024x768, независимо от первоначального размера.

Ответы [ 2 ]

0 голосов
/ 30 августа 2010

Каков ваш viewModeMode установлен? Попробуйте установить это так:

someView.contentMode = UIViewContentModeScaleToFill;

Редактировать: убедитесь, что вы делаете это до блока анимации. Вы должны установить это в Интерфейсном Разработчике или в одном из методов загрузки представления: loadView или viewDidLoad.

0 голосов
/ 29 августа 2010

Каждый UIView содержит CoreAnimation объект ( CALayer ), который используется для явной анимации:

Избавьтесь от всех вызовов -beginAnimations и т. Д. И просто используйте это:

someView.layer.bounds = CGRectMake(0, 0, 1024, 768);
...