2016-09-15 17 views
2

所以我最近有我的項目轉換爲斯威夫特3,雖然有點痛的,它大多了確定。然而,我現在只能回到最後一組我無法解決的錯誤!的UIView/UICoordinateSpace轉換RECT /點交鋒中迅速3

進出口使用

self.convert(point, to: v) 

到視圖之間的轉換點,但Xcode中不斷給我構建錯誤說

'轉換(_:到:)' 只有在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 

    ... 

} 

衝突我不能爲我的生活工作如何解決這個!有沒有人遇到過這個問題,或者有任何想法如何解決它?

回答

3

您可以手動設置iOS的部署目標至7.0,和Xcode的基礎,因爲針對7.0的應用程序。 (我不知道與方式構建的應用可以被批准的App Store。)

所以,你可以測試你的Xcode 8

該行爲,你可以用這種沉默的Xcode:

self.convert(point, to: v as UIView?) 

隨着Swift 3新的重命名規則,一些導入的方法可能在Swift中具有相同的簽名,我恐怕有些可能沒有這種解決方法,並且可能無法通過更改目標版本來解決。

0

好吧,如果任何人有這個問題,原來是因爲前期的iOS 8不再支持。如果您更新項目推薦的設置,將設定最低的iOS版本8,一切都會很高興:)