繁体   English   中英

如何将CGRect转换为CGPoint iOS Swift

[英]How to convert CGRect to CGPoint iOS Swift

这里我想将UIImageViewmaxY CGRect值转换为CGPoint ,但是当我试图将CGRect值转换为CGPoint我得到了一个错误。

let cgPoint = imgPin.convert(imgPin.frame.minY, to: self.view)
  • 错误

表达式类型'@lvalue CGRect'在没有更多上下文的情况下是不明确的

您必须传递CGPoint而不是CGFloat ,如下所示,

// set x, y as per your requirements.
let point = CGPoint(x: imgPin.frame.minX, y: imgPin.frame.minY)
let cgPoint = imgPin.convert(point, to: self.view)

要么

您可以按CGRect传递CGRect并将该点作为origin

let cgPoint = v.convert(imgPin.frame, to: self.view).origin

您可以使用此扩展程序:

extension CGRect {
    var topLeadingPoint: CGPoint { return CGPoint(x: minX, y: minY) }
    var topTrailingPoint: CGPoint { return CGPoint(x: maxX, y: minY) }
    var bottomLeadingPoint: CGPoint { return CGPoint(x: minX, y: maxY) }
    var bottomTrailingPoint: CGPoint { return CGPoint(x: maxX, y: maxY) }
}

然后你就可以使用它:

let cgPoint = imgPin.frame.bottomTrailingPoint

你可以这样做,以点从转换imgPinself.view

let cgPoint = imgPin.convert(imgPin.frame.origin, to: self.view)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM