繁体   English   中英

UIView / UICoordinateSpace快速转换矩形/点冲突3

[英]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.

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