Après avoir converti le code vers le dernier swift 3.0, cette erreur s'affiche.
Dites-moi aussi une solution pour CGSize = CGSizeMake(0,0)
static var frameAtStartOfPan: CGRect = CGRectZero
static var startPointOfPan: CGPoint = CGPointZero
Ce qui est également indisponible.
Réponses:
CGRect
Peut être simplement créé en utilisant une instance d'unCGPoint
ouCGSize
, c'est donné ci-dessous.Ou si nous voulons spécifier chaque valeur dans
CGFloat
ouDouble
ouInt
, nous pouvons utiliser cette méthode.CGPoint
Peut être créé comme ça.CGSize
Peut être créé comme ça.Taillez et pointez avec 0 comme valeurs, cela peut être fait comme ceci.
CGRectZero
&CGPointZero
remplacé parCGRect.zero
&CGPoint.zero
inSwift 3.0
.la source
Solution rapide pour CGRectMake, CGPointMake, CGSizeMake dans Swift3 et iOS10
Ajoutez ces extensions:
Ensuite, allez dans " Rechercher et remplacer dans l'espace de travail " Recherchez CGRectMake, CGPointMake, CGSizeMake et remplacez-les par CGRect, CGPoint, CGSize
Ces étapes pourraient économiser tout le temps car Xcode ne nous permet pas de convertir rapidement Swift 2+ en Swift 3
la source
Dans Swift 3, vous pouvez simplement utiliser
CGPoint.zero
ouCGRect.zero
à la place deCGRectZero
ouCGPointZero
.Cependant, dans Swift 4,
CGRect.zero
et'CGPoint.zero'
fonctionnerala source
Si vous souhaitez les utiliser comme dans swift 2, vous pouvez utiliser ces fonctions:
Pour CGRectMake:
Pour CGPointMake:
Pour CGSizeMake:
Mettez-les juste en dehors de toute classe et ça devrait marcher. (Fonctionne pour moi au moins)
la source
Les structures ainsi que tous les autres symboles dans Core Graphics et d'autres API sont devenus plus propres et incluent également des noms de paramètres. https://developer.apple.com/reference/coregraphics#symbols
Exemple CGPoint:
Exemple de CGVector:
Exemple CGSize:
Exemple CGRect:
Blog Apple
La syntaxe Swift et les changements de changement de nom d'API dans Swift 3 rendent le langage plus naturel et offrent une expérience Swift-y encore plus lors de l'appel des frameworks Cocoa. Les frameworks populaires Core Graphics et Grand Central Dispatch ont de nouvelles interfaces beaucoup plus propres dans Swift.
la source
Essayez ce qui suit:
Ceci est pour la dernière version du swift
la source
Swift 3 Bonus: Pourquoi personne n'a-t-il mentionné la forme courte?
.zero
au lieu deCGPoint.zero
Lorsque le type est défini, vous pouvez l'omettre en toute sécurité.
la source
Vous pouvez l'utiliser avec le remplacement de CGRectZero
la source
Dans Swift 4, cela fonctionne comme ci-dessous
la source
Pour CGSize
la source