Как показать анимацию при переходе во второй вид без использования контроллера навигации? - PullRequest
1 голос
/ 25 декабря 2009

В моем тестовом приложении (я учусь) у меня есть 2 контроллера представления. на первом экране у меня есть кнопка «перейти на второй вид».

что я хочу сделать: когда пользователь нажимает кнопку «перейти ко второму виду», первый вид перемещается влево и выходит из экрана. и второй вид появится справа и заменит первый вид.

Теперь эта анимация возникает при нажатии и всплытии с помощью контроллера навигации.

мой вопрос: Как я могу сделать ту же анимацию, без контроллера Nav?

1 Ответ

2 голосов
/ 25 декабря 2009

Вы можете добавить вид вне экрана справа, а затем вы можете анимировать его в новом кадре на экране. Другое распространенное использование этого метода - анимация модальных представлений меню снизу. Вы также можете анимировать другие свойства вида, такие как альфа-значение, чтобы вид исчезал / появлялся снова.

// the size of the screen minus the Status Bar
#define SCREEN_FRAME [[UIScreen mainScreen] applicationFrame]

// add the full-screen view offscreen to the right
CGRect frame = CGRectMake(SCREEN_FRAME.size.width,
                          SCREEN_FRAME.origin.y, 
                          SCREEN_FRAME.size.width, 
                          SCREEN_FRAME.size.height);
UIView *view = [[[UIView alloc]initWithFrame:frame]autorelease];
[self.view addSubview view];

// this is the frame the view will end on after the animation
CGRect newFrame = CGRectMake(SCREEN_FRAME.origin.x,
                          SCREEN_FRAME.origin.y, 
                          SCREEN_FRAME.size.width, 
                          SCREEN_FRAME.size.height);

// animate the transition
[UIView beginAnimations:nil context: nil];
[UIView setAnimationDuration: .5];
view.frame = newFrame;
[UIView commitAnimations];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...