[英]UIView/UICoordinateSpace convert rect/point clash in swift 3
因此,我最近不得不将项目转换为Swift 3,虽然有些痛苦,但大多数情况下还是可以的。 但是,我现在只能解决最后一组我无法解决的错误!
我正在使用
self.convert(point, to: v)
在视图之间转换点,但是Xcode一直给我建立错误,说
'convert(_:to :)'仅在iOS 8.0或更高版本上可用
这似乎是由于方法定义
public protocol UICoordinateSpace : NSObjectProtocol {
@available(iOS 8.0, *)
public func convert(_ point: CGPoint, to coordinateSpace: UICoordinateSpace) -> CGPoint
...
}
与普通的UIView冲突
extension UIView {
...
open func convert(_ point: CGPoint, to view: UIView?) -> CGPoint
...
}
我无法终生解决该问题! 有没有人遇到这个问题或不知道如何解决它?
您可以将iOS部署目标手动设置为7.0,然后Xcode将目标7.0构建为该应用程序。 (我不知道以这种方式构建的应用可以批准用于App Store。)
因此,您可以使用Xcode 8测试该行为。
您可以使用以下方法使Xcode静音:
self.convert(point, to: v as UIView?)
使用Swift 3的新重命名规则,某些导入的方法在Swift中可能具有相同的签名,而且恐怕其中一些可能没有这种解决方法,并且可能无法通过更改目标版本来解决。
好的,如果还有其他人遇到这个问题,那是因为不再支持iOS 8之前的版本。 如果您将项目更新为建议的设置,它将把您的最低iOS版本设置为8,一切都会很高兴:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.