iPhone View Animation - PullRequest
       4

iPhone View Animation

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

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

На самом деле представление, которое приложение карт использует, когда вы нажимаете кнопку в углу.

Ответы [ 2 ]

2 голосов
/ 09 октября 2011

Примерно так должно работать:

MyViewController *myView = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
myView.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissModalViewControllerAnimated:)] autorelease];
UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:myView];
navigation.modalTransitionStyle = UIModalTransitionStylePartialCurl;
navigation.delegate = self;
[self presentModalViewController:navigation animated:YES];

Ключевым моментом здесь является свойство modalTransitionStyle, которое необходимо установить в UIModalTransitionStylePartialCurl перед представлением модального представления.

Подробнее здесь: Справочник по классам UIViewController (ищите modalPresentationStyle, modalTransitionStyle, presentModalViewController:animated: и dismissModalViewControllerAnimated:).

1 голос
/ 09 октября 2011

Существует два основных способа сделать это: старый, который больше не рекомендуется:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown 
                                  forView:containerView cache:YES];

[containerView addSubview:subview];

[UIView commitAnimations];

и новый (он использует блоки, поддерживаемые с iOS 4 и выше):

[UIView transitionWithView:containerView duration:0.5
    options:UIViewAnimationOptionTransitionCurlDown
    animations:^ { [containerView addSubview:subview]; }
    completion:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...