У меня это работает с протоколами .... Я реализую протокол во всех UIViews
классах, которые делают 3D-преобразования.Поэтому, когда я запрашиваю скриншот, он делает скриншот всех подпредставлений и генерирует один UIImage. Не очень хорошо для большого количества просмотров, но я делаю в нескольких представлениях.
#pragma mark - Protocol implementation 'TDITransitionCustomTransform'
//Conforms to "TDITransitionCustomTransform" protocol, return currrent image view state , by current layer
- (UIImage*)imageForCurrentState {
//Make print
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0.0);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//return printed image
return screenShot;
}
Я думал об этомможет работать сейчас, потому что я делаю этот рендеринг в трансформированном слое представления, который сам себя трансформировал ... И это не сработало, потому что "renderInContext:" не получает слои этого подпредставления, возможно ли это?
Любой, кто интересуется немного большим количеством кода этого решения, может быть найден здесь .на форуме разработчиков Apple.
Это может быть ошибка функции, или она просто не предназначена для этой цели ...