#iphone #objective-c #core-animation #uiviewanimation
#iPhone #objective-c #ядро-анимация #uiviewanimation
Вопрос:
Я реализую довольно стандартную UIView
анимацию, используя UIViewAnimationTransitionCurlUp
. Основная идея заключается в том, что у меня есть папка на экране, покрытая стопкой страниц, и при переходе со страницы на страницу я использую анимацию свертывания. Каждая страница представляет собой вложенный просмотр, который занимает около 70% экрана, так что буфер обмена все еще виден в фоновом режиме.
Вся эта анимация работает нормально, проблема заключается в том, что, хотя каждая «страница» (которая является отдельным UIViewController
amp; UIView
) имеет прозрачный фон, фон страницы становится видимым во время скручивания страницы. Он лишь слегка виден, как черный фон с альфа-значением 0,1. Но это портит эффект.
Есть идеи? Это для частного приложения, которое не будет распространяться в App Store, поэтому с частными API все в порядке.
Ответ №1:
Вам нужно будет изменить размер view
вашего контроллера просмотра страницы, чтобы он в точности соответствовал размеру изображения на вашей странице. Из вашего включенного изображения видно, что ваша страница также повернута. Вы можете применить поворот к вашему виду, чтобы соответствовать этому повороту. Вот часть кода, который я использовал для достижения эффекта на скриншоте:
[self addChildViewController:self.pageViewController];
[self.view addSubview:self.pageViewController.view];
CGRect pageViewRect = CGRectMake(0, 0, 300, 586);
self.pageViewController.view.frame = pageViewRect;
self.pageViewController.view.transform = CGAffineTransformMakeRotation(-M_PI/30);
[self.pageViewController didMoveToParentViewController:self];