UIViewAnimationTransitionCurlUp с прозрачным фоном

#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];
  

введите описание изображения здесь