Ios 将UIImage从矩形调整为正方形而不失真

Ios 将UIImage从矩形调整为正方形而不失真,ios,swift,image-resizing,Ios,Swift,Image Resizing,我想做一个函数,可以在不失真的情况下将图像从矩形调整为正方形 这是我的代码: 我有一个错误(表达式不符合该行的类型“$T4”):if(UIScreen.mainScreen().respondsToSelector(aSelector:scaleTransform)) 选择器在Swift中用字符串描述 UIScreen.mainScreen().respondsToSelector(aSelector: "scaleTransform") 在我的Objective-C代码中,我检查main屏幕

我想做一个函数,可以在不失真的情况下将图像从矩形调整为正方形

这是我的代码: 我有一个错误(表达式不符合该行的类型“$T4”):if(UIScreen.mainScreen().respondsToSelector(aSelector:scaleTransform))


选择器在Swift中用
字符串描述

UIScreen.mainScreen().respondsToSelector(aSelector: "scaleTransform")

在我的
Objective-C
代码中,我检查
main屏幕是否响应
scale
选择器:

[[UIScreen mainScreen] respondsToSelector:@selector(scale)];
将其转换为Swift如下所示:

UIScreen.mainScreen().respondsToSelector(Selector("scale"))
if (UIScreen.mainScreen().respondsToSelector(Selector("scale"))) {
    UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
}
else {
    UIGraphicsBeginImageContext(size)
}
因此,我认为代码中有问题的部分应该如下所示:

UIScreen.mainScreen().respondsToSelector(Selector("scale"))
if (UIScreen.mainScreen().respondsToSelector(Selector("scale"))) {
    UIGraphicsBeginImageContextWithOptions(size, false, 0.0)
}
else {
    UIGraphicsBeginImageContext(size)
}

希望有帮助

以下代码也适用于Swift 2.3和3.0

UIScreen.mainScreen().respondsToSelector(#selector(NSDecimalNumberBehaviors.scale))