Tocropviewcontroller: Suporte para Swift 3

Criado em 4 out. 2016  ·  6Comentários  ·  Fonte: TimOliver/TOCropViewController

Como posso usar esta biblioteca com Swift 3?

enhancement question

Comentários muito úteis

Este projeto é escrito em Objective-C e não há necessidade de fazer alterações no código (ou reescrevê-lo completamente em Swift) para usá-lo em Swift 3 ou outro código de versão Swift, porque os arquivos Objective-C e Swift podem coexistir em um único projeto. Portanto, se você usá-lo por meio do CocoaPods, o exemplo de 'Implementação Básica' do Readme em Swift será semelhante a:

import TOCropViewController

func presentCropViewController() {
    let image: UIImage = ... // Load an image
    let cropViewController = TOCropViewController(image: image)
    cropViewController.delegate = self
    present(cropViewController, animated: true, completion: nil)
}

func cropViewController(_ cropViewController: TOCropViewController!, didCropTo image: UIImage!, with cropRect: CGRect, angle: Int) {
    // 'image' is the newly cropped version of the original image
}

Se você copiar o código-fonte para o projeto Swift, verifique a seção 'Importando Objective-C para Swift' aqui https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html e use como exemplo acima de.

Todos 6 comentários

Ele só deve funcionar se você adicionar um cabeçalho de ponte Objective-C! :)

Em algum momento, verei se posso melhorar o design da API para torná-la mais 'Swifty' também.

Estou usando o TOCropViewController no projeto Swift 3 via cocoapods, funcionando bem, sem erros.

Esperamos uma versão rápida, por favor # @akovalov :) :) :)

@osmanyildirim Não é realmente possível 'esperar' nada de um projeto de código aberto gratuito. ;)

Se você precisa desesperadamente de suporte nativo para Swift 3, sinta-se à vontade para implementá-lo. : D

Este projeto é escrito em Objective-C e não há necessidade de fazer alterações no código (ou reescrevê-lo completamente em Swift) para usá-lo em Swift 3 ou outro código de versão Swift, porque os arquivos Objective-C e Swift podem coexistir em um único projeto. Portanto, se você usá-lo por meio do CocoaPods, o exemplo de 'Implementação Básica' do Readme em Swift será semelhante a:

import TOCropViewController

func presentCropViewController() {
    let image: UIImage = ... // Load an image
    let cropViewController = TOCropViewController(image: image)
    cropViewController.delegate = self
    present(cropViewController, animated: true, completion: nil)
}

func cropViewController(_ cropViewController: TOCropViewController!, didCropTo image: UIImage!, with cropRect: CGRect, angle: Int) {
    // 'image' is the newly cropped version of the original image
}

Se você copiar o código-fonte para o projeto Swift, verifique a seção 'Importando Objective-C para Swift' aqui https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html e use como exemplo acima de.

Eu me diverti um pouco adicionando uma melhor interoperabilidade do Swift com este projeto. Sem fazer uma refatoração completa dos nomes dos métodos usando NS_SWIFT_NAME , ACHO que isso é tudo que podemos fazer.

Se você conseguir pensar em mais alguma coisa necessária para melhorar a interoperabilidade do Swift, envie um PR. :)

Esta página foi útil?
0 / 5 - 0 avaliações