Dav*_*vid 9 screenshot core-animation calayer ipad ios
我正在用Core Animation构建一个场景,它看起来类似于旧Apple TV上的屏幕保护程序.连续的图像流(每个a CALayer)从下到上垂直通过.为实现此目的,在图层的动画移出视图后结束后,它会重新定位到底部,分配新图像并重新生成.这发生在animationDidStop委托方法中.但是,我注意到如果我在iPad上运行应用程序时截取屏幕截图,则图层永远不会重新定位到底部,并且不会再次显示.我已经解决了这个问题,而且我确信截屏会导致它.这让我觉得拍摄截图对动画时机有影响.所以...
小智 1
您始终可以尝试根据视图的内容以编程方式捕获屏幕截图,然后将其另存为屏幕截图。我不知道你的对象,但这是我以前做过的。我的屏幕截图的所有内容都在CaptureView中。
CGRect screenRect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(CaptureView.frame.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor clearColor] set];
CGContextFillRect(ctx, screenRect);
[CaptureView.layer renderInContext:ctx];
UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();
UIImageWriteToSavedPhotosAlbum(screenImage, nil, nil, nil);
UIGraphicsEndImageContext();
Run Code Online (Sandbox Code Playgroud)
你的动画是静止的吗UIImageView?如果您想要检测离开屏幕的图像视图,只需将其frame.origin.y与 0 进行比较即可。