Nach dem Konvertieren von Code in den neuesten Swift 3.0 wird dieser Fehler angezeigt.
Sag mir auch Lösung für CGSize = CGSizeMake(0,0)
static var frameAtStartOfPan: CGRect = CGRectZero
static var startPointOfPan: CGPoint = CGPointZero
Welches ist auch nicht verfügbar.
Antworten:
CGRect
Kann einfach mit einer Instanz von aCGPoint
oderCGSize
erstellt werden.Oder wenn wir jeden Wert in
CGFloat
oderDouble
oder angeben möchtenInt
, können wir diese Methode verwenden.CGPoint
Kann so erstellt werden.CGSize
Kann so erstellt werden.Auch Größe und Punkt mit 0 als Werten können so gemacht werden.
CGRectZero
&CGPointZero
ersetzt durchCGRect.zero
&CGPoint.zero
inSwift 3.0
.quelle
Schnelle Lösung für CGRectMake, CGPointMake, CGSizeMake in Swift3 und iOS10
Fügen Sie diese Erweiterungen hinzu:
Gehen Sie dann zu " Suchen und Ersetzen im Arbeitsbereich ". Suchen Sie CGRectMake, CGPointMake, CGSizeMake und ersetzen Sie sie durch CGRect, CGPoint, CGSize
Diese Schritte sparen möglicherweise die ganze Zeit, da Xcode uns derzeit keine schnelle Konvertierung von Swift 2+ zu Swift 3 ermöglicht
quelle
In Swift 3 können Sie einfach
CGPoint.zero
oderCGRect.zero
anstelle vonCGRectZero
oder verwendenCGPointZero
.Allerdings in Swift 4
CGRect.zero
und'CGPoint.zero'
wird funktionierenquelle
Wenn Sie sie wie in Swift 2 verwenden möchten, können Sie folgende Funktionen verwenden:
Für CGRectMake:
Für CGPointMake:
Für CGSizeMake:
Stellen Sie sie einfach außerhalb einer Klasse und es sollte funktionieren. (Funktioniert zumindest für mich)
quelle
Die Strukturen sowie alle anderen Symbole in Core Graphics und anderen APIs sind übersichtlicher geworden und enthalten auch Parameternamen. https://developer.apple.com/reference/coregraphics#symbols
CGPoint Beispiel:
CGVector Beispiel:
CGSize-Beispiel:
CGRect Beispiel:
Apple Blog
Durch die schnelle Syntax- und API-Umbenennung in Swift 3 fühlt sich die Sprache natürlicher an und bietet eine noch schnellere Erfahrung beim Aufrufen von Cocoa-Frameworks. Beliebte Frameworks Core Graphics und Grand Central Dispatch verfügen über neue, viel sauberere Schnittstellen in Swift.
quelle
Versuche Folgendes:
Dies ist für die neueste Version des Swift
quelle
Swift 3 Bonus: Warum hat niemand die Kurzform erwähnt?
.zero
anstattCGPoint.zero
Wenn der Typ definiert ist, können Sie ihn sicher weglassen.
quelle
Sie können dies mit dem Ersatz von CGRectZero verwenden
quelle
In Swift 4 funktioniert es wie unten
quelle
Für CGSize
quelle