ios - 拍摄隐藏的 UIView 的快照

标签 ios objective-c uiview core-animation

我正在尝试拍摄隐藏 View 的快照,但遇到了几个问题。如果我尝试快速取消隐藏它,拍摄快照,然后重新隐藏它,有时我会在屏幕上看到一个非常刺耳的快速闪烁。

toCollectionViewCell.hidden = NO;
UIView *toPlaceHolderSnapshot = [toCollectionViewCell resizableSnapshotViewFromRect:toCollectionViewCell.bounds afterScreenUpdates:YES withCapInsets:UIEdgeInsetsZero];
toCollectionViewCell.hidden = YES;

我很确定闪烁是由 afterScreenUpdates:YES 引起的,但我无法想象这是预期的行为。

我也尝试过将单元格/ View 移出屏幕而不是隐藏它,但我无法确定该单元格何时可能会重新加载并因此过早地移回原位。

有没有办法拍摄隐藏 View 的快照或更聪明的方法来实现这一点?我在自定义过渡动画期间需要此功能,我将 Collection View 单元格从 Collection View 中拉出,然后在关闭时将其放回原处。我正在拍摄前/后状态的快照,然后在动画期间在两者之间转换。

谢谢!

最佳答案

将额外的容器 View 添加到您的 View 层次结构中。隐藏容器将具有相同的视觉效果,但您将能够轻松地拍摄容器内容的快照。

关于ios - 拍摄隐藏的 UIView 的快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25871303/

相关文章:

ios - iOS Swift 3 Alamofire 4.0.0

ios - 将 Adob​​e Air App 交付到 AppStore 失败

iphone - UIViewController 子类支持 NIB 加载和非

ios - 动画延迟在 iOS 上无法正常工作,为什么?

ios - Swift:在委托(delegate)方法中使用 presentViewController 时为 "Attempt to present ViewController whose view is not in the window hierarchy"

objective-c - 为什么对象变量必须是指针?

ios - 带有 slider 和 iphone 按钮的 AVPlayer 音量控制

ios - 为什么不调用 UIViewControllerTransitioningDelegate 的 presentationControllerForPresentedViewController 方法?

swift - 快速放置一个与屏幕相关的对象

ios - 一类 UIView 也可以是 UITextFieldDelegate 吗?