Después de convertir el código a la última versión de swift 3.0, aparece este error.
También dime solución para CGSize = CGSizeMake(0,0)
static var frameAtStartOfPan: CGRect = CGRectZero
static var startPointOfPan: CGPoint = CGPointZero
Que tampoco está disponible.
Respuestas:
CGRect
Se puede crear simplemente usando una instancia de aCGPoint
oCGSize
, eso se da a continuación.O si queremos especificar cada valor de
CGFloat
oDouble
, oInt
, podemos utilizar este método.CGPoint
Se puede crear así.CGSize
Se puede crear así.También tamaño y punto con 0 como valores, se puede hacer así.
CGRectZero
&CGPointZero
reemplazado conCGRect.zero
&CGPoint.zero
inSwift 3.0
.fuente
Solución rápida para CGRectMake, CGPointMake, CGSizeMake en Swift3 y iOS10
Agregue estas extensiones:
Luego, vaya a " Buscar y reemplazar en el área de trabajo " Encuentre CGRectMake, CGPointMake, CGSizeMake y reemplácelos con CGRect, CGPoint, CGSize
Estos pasos pueden ahorrar todo el tiempo ya que Xcode en este momento no nos da una conversión rápida de Swift 2+ a Swift 3
fuente
En Swift 3, simplemente puede usar
CGPoint.zero
oCGRect.zero
en lugar deCGRectZero
oCGPointZero
.Sin embargo, en Swift 4,
CGRect.zero
y'CGPoint.zero'
funcionaráfuente
Si desea usarlos como en swift 2, puede usar estas funciones:
Para CGRectMake:
Para CGPointMake:
Para CGSizeMake:
Simplemente colóquelos fuera de cualquier clase y debería funcionar. (Funciona para mí al menos)
fuente
Las estructuras, así como todos los demás símbolos en Core Graphics y otras API, se han vuelto más limpios y también incluyen nombres de parámetros. https://developer.apple.com/reference/coregraphics#symbols
Ejemplo de CGPoint:
Ejemplo de CGVector:
Ejemplo de CGSize:
Ejemplo de CGRect:
Blog de Apple
La sintaxis de Swift y los cambios de cambio de nombre de API en Swift 3 hacen que el lenguaje se sienta más natural y brindan una experiencia Swift-y aún más cuando se llaman frameworks Cocoa. Los marcos populares Core Graphics y Grand Central Dispatch tienen interfaces nuevas y mucho más limpias en Swift.
fuente
Intenta lo siguiente:
Esto es para el de SWIFT versión más reciente
fuente
Bono Swift 3: ¿Por qué nadie mencionó la forma corta?
.zero
en vez deCGPoint.zero
Cuando se define el tipo, puede omitirlo de forma segura.
fuente
Puede usar esto con el reemplazo de CGRectZero
fuente
En Swift 4 funciona como a continuación
fuente
Para CGSize
fuente