Я перекрестно растворяю между изображениями на страницах моего подкласса UIPageController. При переходе страницы можно поворачивать страницу. Иногда поворот страницы становится прозрачным в середине, пока не завершится переход.Пересекающиеся переходы, мешающие зависанию страниц на страницах UIPageController
В приведенном ниже коде класс страницы является подклассом UIViewController, чей вид имеет под просмотр UIImageView. PageController - это мой подкласс UIPageViewController.
@implementation PageController : UIPageViewController
- (void)crossfadeToImage:(UIImage *)image
{
for (int i = 0; i < self.pages.count; i++) {
Page *page = self.pages[i]; // Pages fed to page controller in delegate
[UIView transitionWithView:page.view duration:duration options:UIViewAnimationOptionTransitionCrossDissolve | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionCurveEaseInOut animations:^{
page.image = image;
} completion:nil];
}
}
код страницы выглядит следующим образом:
// HEADER
@interface Page : UIViewController
@property (strong, nonatomic) UIImage *image;
- (instancetype)initWithPageFrameSize:(CGSize)size image:(UIImage *)image;
@end
// IMPLEMENTATION
@implementation Page
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, _pageFrameSize.width, _pageFrameSize.height)];
self.view = view;
}
- (UIImage *)image
{
return _imageView.image;
}
- (void)setImage:(UIImage *)image
{
if (!_imageView) {
_imageView = [[UIImageView alloc] initWithImage:image];
_imageView.frame = self.view.bounds;
[self.view addSubview:_imageView];
} else {
_imageView.image = image;
}
}
@end
Я угадал склейку и страницы локон анимация укладки в странным образом или что-то. Любые идеи о том, как предотвратить этот побочный эффект «исчезающей страницы»?
Просто заметили, что крестообразное растворение не мешает анимации завивки страницы, когда применяется непосредственно к рассматриваемому изображению, а не к page.view. –