[英]How to convert CGRect to CGPoint iOS Swift
这里我想将UIImageView
的maxY
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
你可以这样做,以点从转换imgPin
到self.view
let cgPoint = imgPin.convert(imgPin.frame.origin, to: self.view)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.