このObjective-CコードをSwift 3.0に実装する必要があります(Xcode 8 Beta 3を使用しています):
_// Note: this code comes from an Obj-C category on UIImage
CGImageRef imageRef = CGImageCreateWithImageInRect(self.CGImage, cropRect);
UIImage *image = [UIImage imageWithCGImage:imageRef scale:self.scale orientation:self.imageOrientation];
_
CGImageCreateWithImageInRect()
の最新のドキュメントには何も見つかりません。
Xcode8のSwiftエディターでこのコードを書くとき:
let imageRef = CGImageCreateWithImageInRect(self.CGImage!, cropRect)
Swiftは私にエラーを示しました:
error: 'CGImageCreateWithImageInRect' has been replaced by instance method 'CGImage.cropping(to:)'
だから、私は行を次のように変更しました:
let imageRef = self.cgImage!.cropping(to: cropRect)
そして、あなたのコードの2行目は直接Swiftに変換できるようです:
let image = UIImage(cgImage: imageRef!, scale: self.scale, orientation: self.imageOrientation)
そしてCGImageCreateWithImageInRect
の最新のドキュメント、
Swiftリンクをクリックすると、次のように表示されます。
func cropping(to rect: CGRect) -> CGImage?
var imageRef = self.image.cropping(to: cropRect)