До сих пор я использовал код от this answer, чтобы имитировать нажатие вида. Но теперь анимация с нажатием на просмотр изменилась. У кого-нибудь есть код для имитации новой анимации?emulate iOS7 контроллер push анимация
1
A
ответ
2
Я нашел способ имитировать его, который довольно близок к оригиналу.
Вы должны добавить MTAnimation (что необходимо для экспоненциальной непринужденности). Эта библиотека понадобится QuartzCore
, поэтому вам придется добавить ее в свои «связанные библиотеки» в «фазах сборки» в настройках проекта, если она еще не добавлена.
А вот код:
толчок контроллер анимации
// Get the views
UIView * fromView = sourceViewController.view;
UIView * toView = destinationViewController.view;
UIView *darkenView = [[UIView alloc] initWithFrame:fromView.frame];
[darkenView setBackgroundColor:[UIColor colorWithRed:255 green:255 blue:255 alpha:0]];
[fromView addSubview:darkenView];
// Get the size of the view area.
CGRect viewSize = fromView.frame;
// Add the new view to the old view.
[fromView.superview addSubview:toView];
// Position the new view outside of the screen
toView.frame = CGRectMake(viewSize.size.width , viewSize.origin.y, viewSize.size.width, viewSize.size.height);
[UIView mt_animateViews:[NSArray arrayWithObjects:fromView, toView, nil]
duration:.55
timingFunction:MTTimingFunctionEaseOutExpo
options:UIViewAnimationOptionAllowAnimatedContent
animations:
^{
// Animate the replacing of the views
fromView.frame =CGRectMake(-(viewSize.size.width/3) , viewSize.origin.y, viewSize.size.width, viewSize.size.height);
toView.frame =CGRectMake(0, viewSize.origin.y, viewSize.size.width, viewSize.size.height);
[darkenView setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:.1]];
}
completion:
^{
// Remove the old view
[darkenView removeFromSuperview];
[fromView removeFromSuperview];
}];
поп-контроллер анимации (например, с кнопкой назад)
// Get the views.
UIView * fromView = sourceViewController.view;
UIView * toView = destinationViewController.view;
// Get the size of the view area.
CGRect viewSize = fromView.frame;
// Add the new view to the old view.
[fromView.superview insertSubview:toView belowSubview:fromView];
// Position the new view outside of the screen
toView.frame = CGRectMake(-(viewSize.size.width/3) , viewSize.origin.y, viewSize.size.width, viewSize.size.height);
UIView *darkenView = [[UIView alloc] initWithFrame:toView.frame];
[darkenView setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:.1]];
[toView addSubview:darkenView];
[UIView animateWithDuration:0.35 delay:0 options:UIViewAnimationOptionAllowAnimatedContent animations:
^{
// Animate the replacing of the views
fromView.frame =CGRectMake(viewSize.size.width , viewSize.origin.y, viewSize.size.width, viewSize.size.height);
toView.frame =CGRectMake(0, viewSize.origin.y, viewSize.size.width, viewSize.size.height);
darkenView.frame = toView.frame;
[darkenView setBackgroundColor:[UIColor colorWithRed:255 green:255 blue:255 alpha:0]];
}
completion:^(BOOL finished)
{
if (finished)
{
// Remove the old view
[fromView removeFromSuperview];
[darkenView removeFromSuperview];
}
}];
Смежные вопросы
- 1. пользовательский push segue анимация
- 2. ios7: Custom Push segue pre iOS7 стиль почти работает
- 3. iOS, представляющий контроллер представления, анимированный как «Push» (правая левая анимация)
- 4. UISlider не анимация в iOS7
- 5. Вложенные push анимации iOS7 ошибка?
- 6. Анимация Push Segue без UINavigationController
- 7. presentViewController скрывает навигационный контроллер (iOS7)
- 8. iOS7-стиль push segue, слева направо
- 9. Контроллер Push View в контроллер навигации
- 10. Простая анимация не работает на iOS7
- 11. UIPageViewController: перевернутая анимация. (iOS7 vs iOS6)
- 12. Навигационная анимация Push без перекрытия UIViewControllers
- 13. iOS8 и iOS7 Push Notification Полезная нагрузка
- 14. iOS7 - Результаты поиска tableview push 20px down
- 15. Проверьте, включены ли push-уведомления на iOS7
- 16. Анализ без отправки push-уведомлений для iOS7
- 17. UINavigationController Push Segue - Странная анимация
- 18. Анимация «Push» в Objective-C
- 19. iOS7 - Контроллер навигации - Пользовательская кнопка возврата
- 20. iOS7-iPhone представляет контроллер представления - UIPickerView
- 21. iOS 7 UINavigationController Push анимация тень
- 22. emulate usb port
- 23. Emulate Samsung Galaxy Tab
- 24. Emulate codePen twilight theme
- 25. CCA Emulate Android error
- 26. perl emulate grep -n?
- 27. Контроллер Push View, черный экран
- 28. Пользовательские переходы iOS7 с UINavigationController
- 29. iOS7 - перекрытие содержимого во время push segue из вида таблицы
- 30. Emulate touch scroll в Java