Depois de converter o código para o mais recente swift 3.0, este erro é mostrado.
Diga-me também a solução para CGSize = CGSizeMake(0,0)
static var frameAtStartOfPan: CGRect = CGRectZero
static var startPointOfPan: CGPoint = CGPointZero
O que também está indisponível.
Respostas:
CGRect
Pode ser simplesmente criado usando uma instância de aCGPoint
ouCGSize
, dada abaixo.Ou, se quisermos especificar cada valor em
CGFloat
ouDouble
ouInt
, podemos usar esse método.CGPoint
Pode ser criado assim.CGSize
Pode ser criado assim.Também dimensione e aponte com 0 como valores, isso pode ser feito assim.
CGRectZero
&CGPointZero
substituído porCGRect.zero
&CGPoint.zero
inSwift 3.0
.fonte
Correção rápida para CGRectMake, CGPointMake, CGSizeMake no Swift3 e iOS10
Adicione estas extensões:
Em seguida, vá para " Localizar e substituir na área de trabalho " Encontre CGRectMake, CGPointMake, CGSizeMake e substitua-os por CGRect, CGPoint, CGSize
Essas etapas podem economizar o tempo todo, pois o Xcode no momento não nos dá uma conversão rápida do Swift 2+ para o Swift 3
fonte
No Swift 3, você pode simplesmente usar
CGPoint.zero
ouCGRect.zero
no lugar deCGRectZero
ouCGPointZero
.No entanto, no Swift 4,
CGRect.zero
e'CGPoint.zero'
funcionaráfonte
Se você quiser usá-los como no swift 2, poderá usar estas funções:
Para CGRectMake:
Para CGPointMake:
Para CGSizeMake:
Basta colocá-los fora de qualquer classe e deve funcionar. (Funciona para mim, pelo menos)
fonte
As estruturas, bem como todos os outros símbolos no Core Graphics e outras APIs, ficaram mais limpas e também incluem nomes de parâmetros. https://developer.apple.com/reference/coregraphics#symbols
Exemplo do CGPoint:
Exemplo de CGVector:
Exemplo de CGSize:
Exemplo de CGRect:
Blog da Apple
As mudanças de renomeação de sintaxe e API do Swift no Swift 3 tornam a linguagem mais natural e proporcionam uma experiência ainda mais rápida ao chamar as estruturas do Cocoa. Estruturas populares Core Graphics e Grand Central Dispatch têm interfaces novas e muito mais limpas no Swift.
fonte
Tente o seguinte:
Esta é a versão mais recente do swift
fonte
Bônus Swift 3: Por que ninguém mencionou o formulário curto?
.zero
ao invés deCGPoint.zero
Quando o tipo é definido, você pode omiti-lo com segurança.
fonte
Você pode usar isso com a substituição do CGRectZero
fonte
No Swift 4 , funciona como abaixo
fonte
Para CGSize
fonte