2010-08-16 2 views
0

У меня есть вид на рабочий стол и обычный вид (скажем, вид 2) внутри обычного вида. Все сделано в интерфейсе. Вид 2 находится над табличным представлением и должен выглядеть анимированным сверху при загрузке представления. При нажатии кнопки вид снова исчезает. Как я могу это сделать?Добавление анимированного представления

благодарит

ответ

1

Вы должны анимировать это в пользовательской анимации блока. Она должна быть достаточно простой .. Установите кадр вашей точки зрения, так что он находится над экраном и не видно:

[yourView setFrame:CGRectMake(0, -480, 320, 480)]; 

В блоке анимации просто изменить рамку вашей точки зрения в блоке анимации:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:GROW_AND_MOVE_ANIMATION_DURATION_SECONDS]; 
[yourView setFrame:CGRectMake(0, 0, 320, 480)]; 
[UIView commitAnimations]; 

уволить его/заставить его исчезнуть использовать ту же анимацию с предыдущим кадром:

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:GROW_AND_MOVE_ANIMATION_DURATION_SECONDS]; 
[yourView setFrame:CGRectMake(0, -480, 320, 480)]; 
[UIView commitAnimations]; 

Но перед этим рассмотрим, нужно ли принести его в сверху, потому что если Брина Перенять его снизу, как модальный вид соответствует вашим требованиям, вы можете очень легко использовать метод UIViewController в:

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated 

Good Luck.

+0

Но метод presentModalViewController не будет работать, потому что я думаю, что это UIView, а не UIViewController (хотя я не уверен) –

+0

благодарю вас за ответ. Я действительно сделал это, и он сработал: [UIView beginAnimations: nil context: NULL]; \t [UIView setAnimationDuration: 1]; \t [UIView setAnimationDelegate: self]; \t CGAffineTransform transformView = myView.transform; \t transformView = CGAffineTransformTranslate (transformView, 0, +210); \t myView.transform = transformView; Я изменил начальные координаты в построителе интерфейса. – DanielaM