gpt4 book ai didi

objective-c - 检查是否支持 UIGraphicsBeginImageContextWithOptions

转载 作者:太空狗 更新时间:2023-10-30 03:48:11 24 4
gpt4 key购买 nike

我正在开发 iOS 应用程序。它目前仅适用于 iOS 4,因为我多次使用以下方法:“UIGraphicsBeginImageContextWithOptions”。此方法仅在 iOS 4 中可用,因此我的应用程序当前在 iPhone OS 3 上崩溃/无法运行。除了此方法之外,没有理由认为该应用程序不能在 iPhone OS 3 上运行。我如何检查看看这个方法是否可用?我尝试了以下但没有成功:

if([self respondsToSelector:@selector(UIGraphicsBeginImageContextWithOptions)]) {
UIGraphicsBeginImageContextWithOptions(targetSize, NO, 0.0); // this will crop
}
else
{
UIGraphicsBeginImageContext(targetSize);

}

我只尝试过这样的变体:

if([self respondsToSelector:@selector(UIGraphicsBeginImageContextWithOptions:size:opaque:scale:)])

if([self respondsToSelector:@selector(UIGraphicsBeginImageContextWithOptions:)])

没有成功。任何帮助将不胜感激。

最佳答案

UIGraphicsBeginImageContextWithOptions 是一个 C 函数,因此您不能使用像 -respondsToSelector: 这样的 Objective-C 方法来测试它的存在。

但是,您可以 weak link UIKit 框架,然后检查 UIGraphicsBeginImageContextWithOptions 是否为 NULL:

if (UIGraphicsBeginImageContextWithOptions != NULL) {
UIGraphicsBeginImageContextWithOptions(...);
} else {
UIGraphicsBeginImageContext(...);
}

关于objective-c - 检查是否支持 UIGraphicsBeginImageContextWithOptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3607082/

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