2013-05-15 3 views
0

Я использую этот код, чтобы представить UIViewController:pushViewController установить продолжительность анимации

-(IBAction)openWoodenPage3:(id)sender{ 
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPad" bundle: nil]; 
UIViewController *lvc = [storyboard instantiateViewControllerWithIdentifier:@"ControllerWoodenPage3"]; 
[self.navigationController pushViewController:lvc animated:YES]; 
} 

анимация длится 3 секунды, но я хочу, чтобы изменить это 7sec. Как я могу это сделать? И если бы я хотел изменить сторону справа налево?

+0

3 секунды? Это ужасно долго для толчка навигационного контроллера. Вы имеете в виду 0,3 секунды? – Undo

+0

да, я имел в виду 0.3 – Alessandro

ответ

1

Для этого вам нужно будет делать все вручную в пользовательской реализации, а также использовать следующие методы:

[UIView beginAnimations:@"abc" context:nil]; 
[UIView setAnimationDuration:0.7]; // seconds 
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn]; 

// move stuff 

[UIView commitAnimations]; 

Кроме того, нажмите анимации имеют фиксированный 0,3 (не 3) секунд, а также многие другие стандартные анимации в iOS, такие как внешний вид клавиатуры, модальные презентации и т. д.

+0

Apple рекомендует использовать методы на основе блоков вместо них с iOS 4. – rdelmar

+0

@rdelmar Мне бы очень хотелось, чтобы Apple отклонила приложения, которые не используют блочные анимации UIView (просто моя дикая фантазия:)) –

Смежные вопросы