gpt4 book ai didi

iphone - 如何捕获当前 View 屏幕截图并在代码中重用? (iPhone SDK)

转载 作者:行者123 更新时间:2023-12-03 18:27:50 26 4
gpt4 key购买 nike

当用户旋转设备时,我尝试从一个 UIView 转换到另一个 UIView。这本身并不困难。但是,由于我在旋转后显示完全不同的内容,因此 UIKit 提供的默认动画(旋转当前显示的 View )在概念上是不合适的。

简单地禁用动画并突然交换 View 是可以忍受的,但远远低于我在应用程序其余部分中构建的完善程度。我想做的是:

当调用 shouldAutorotateToInterfaceOrientation: 时,我想获取旋转前用户 View 的不透明 View 快照(如果愿意的话)。然后,在旋转完成并且系统应用了 View 变换等之后,我可以显示我保存的快照 View ,并将我选择的动画转换到新 View 。完成后,我可以发布我的快照并继续。

有没有一种方法可以做到这一点而且不昂贵?

我能想到的唯一其他选择是在除默认方向之外的所有方向上返回 NO,然后通过应用我自己的动画和变换来使用react。不过,我更愿意使用系统来执行此操作,因为我觉得自己执行此操作可能会导致手动旋转 View 中的“未定义”键盘行为等。

想法?

最佳答案

- (UIImage *)captureView:(UIView *)view {
CGRect screenRect = [[UIScreen mainScreen] bounds];

UIGraphicsBeginImageContext(screenRect.size);

CGContextRef ctx = UIGraphicsGetCurrentContext();
[[UIColor blackColor] set];
CGContextFillRect(ctx, screenRect);

[view.layer renderInContext:ctx];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImage;
}

在这里找到这个:

http://discussions.apple.com/thread.jspa?messageID=8358740

关于iphone - 如何捕获当前 View 屏幕截图并在代码中重用? (iPhone SDK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com