Допустим, у вас есть точка в левом нижнем координатном пространстве, которая называется «оригинальная точка». Чтобы перевернуть эту точку в верхнее левое координатное пространство, вы можете использовать следующий код:
let screenFrame = (NSScreen.main()?.frame)!
let flippedY = screenFrame.size.height - originalPoint.y
let convertedPoint = NSPoint(x: originalPoint.x, y: flippedY)
Мы также можем сделать расширение:
extension NSPoint {
var flipped: NSPoint {
let screenFrame = (NSScreen.main()?.frame)!
let screenY = screenFrame.size.height - self.y
return NSPoint(x: self.x, y: screenY)
}
}
Использование:
let flippedPoint = originalPoint.flipped