Doc Core
Guia de customização de telas para o Doc Core iOS.
Doc Core Guia de customização de telas para o Doc Core iOS.
Uso do termo Doc CoreNesta seção, compreende-se por Doc Core o módulo Documentscopy dentro do SDK.
Além de poder usar o SDK em sua forma padrão de exibição, o SDK permite também, que as telas sejam completamente customizadas.
A customização das telas é feita por meio da criação de objetos do tipo UIView (via código ou via Interface Builder), que implementam os protocolos definidos para cada tela do fluxo apresentado pelo SDK.
Elementos adicionaisAlém das telas obrigatórias, a tela customizada pode conter outros elementos, apenas tomando cuidado para que estes itens adicionais não interfiram no comportamento dos elementos obrigatórios.
As telas customizadas são passadas como argumento para o construtor da classe DocumentscopyViewController.
| Parâmetro | Descrição |
|---|---|
| showFeedback | Valor booleano que indica se a tela de resultado deve ser apresentada ou não. |
| customViews | Objeto contendo as telas customizadas. |
| customization | Objeto contendo a customização da jornada de documento. |
Nota
- O parâmetro
showFeedbacké opcional e possui true como valor padrão;- Os parâmetros
customViewsecustomizationsão opcionais.
1. Tela de instruções
Tela customizada
Esta tela deve estar em conformidade com o protocolo DocumentscopyCustomInstructionView, o qual será passado como argumento para o método setInstructionView(_:) do DocumentscopyCustomViews e que define os seguintes métodos e propriedades:
| Propriedade | Descrição |
|---|---|
| (1) backButton | Botão para função voltar da navegação. |
| (2) physicalDocumentOption | Botão para iniciar o fluxo de captura do documento físico. |
| (3) digitalDocumentOption | Botão para iniciar o fluxo de captura do documento digital. |
Método | Descrição |
|---|---|
| Método responsável por indicar o estado do loading na tela de instruções, podendo receber dois valores:
|

Tela de Instruções
Código de exemplo
/* Custom view */
final class DocumentscopyCustomInstructionViewExample: UIView, DocumentscopyCustomInstructionView {
var backButton: UIButton!
var physicalDocumentOption: UIView!
var digitalDocumentOption: UIView!
func changeLoadingVisibility(to visibility: Visibility) { ... }
}
/* Builder */
let customViews = DocumentscopyCustomViews.builder()
.setInstructionView(DocumentscopyCustomInstructionViewExample())
.build()Builder de customização
No método setInstructionCustomization(_:) do DocumentscopyCustomization, você terá acesso ao builder responsável por essa tela, que disponibiliza todos os métodos listados a seguir:
Elemento | Método |
|---|---|
(1) Loading |
|
(2) Back button |
|
(3) Background |
|
(4) Context image |
|
(5) Bottom sheet |
|
(6) Title |
|
(7) Caption |
|
(8) Physical document option |
|
(9) Digital document option |
|

Tela de Instruções
Código de exemplo
let customization = DocumentscopyCustomization.builder()
.setInstructionCustomization { instructionBuilder in
instructionBuilder
.setBackButtonIcon(UIImage(named: "trash")!)
.setBackButtonIconColor(UIColor.red)
.setBackButtonBackgroundColor(UIColor.green)
.setBackButtonBorderColor(UIColor.white)
.setBackgroundColor(UIColor.purple)
.setContextImage(UIImage(named: "doc.text.magnifyingglass")!)
.setLoadingColor(UIColor.red)
.setBottomSheetColor(UIColor.cyan)
.setBottomSheetCornerRadius(10)
.setTitle("Titulo aqui")
.setTitleColor(UIColor.brown)
.setTitleFont(UIFont.systemFont(ofSize: 40))
.setCaption("Subtitulo aqui")
.setCaptionColor(UIColor.systemPink)
.setCaptionFont(UIFont.systemFont(ofSize: 30))
.setPhysicalDocumentOptionImage(UIImage(named: "doc.text.magnifyingglass"))
.setPhysicalDocumentOptionTitle("Physical document")
.setPhysicalDocumentOptionTitleColor(UIColor.blue)
.setPhysicalDocumentOptionTitleFont(UIFont.systemFont(ofSize: 40))
.setPhysicalDocumentOptionDescription("Physical description")
.setPhysicalDocumentOptionDescriptionColor(UIColor.green)
.setPhysicalDocumentOptionDescriptionFont(UIFont.systemFont(ofSize: 25))
.setPhysicalDocumentOptionBackgroundColor(UIColor.black)
.setPhysicalDocumentOptionCircleBackgroundColor(UIColor.yellow)
.setPhysicalDocumentOptionBorderRadius(20)
.setPhysicalDocumentOptionBorderColor(UIColor.clear)
.setPhysicalDocumentOptionBorderWidth(4)
.setPhysicalDocumentOptionIconColor(UIColor.red)
.setDigitalDocumentOptionImage(UIImage(named: "pencil"))
.setDigitalDocumentOptionTitle("Digital document")
.setDigitalDocumentOptionTitleColor(UIColor.brown)
.setDigitalDocumentOptionTitleFont(UIFont.systemFont(ofSize: 10))
.setDigitalDocumentOptionDescription("Digital caption")
.setDigitalDocumentOptionDescriptionColor(UIColor.systemPink)
.setDigitalDocumentOptionDescriptionFont(UIFont.systemFont(ofSize: 20))
.setDigitalDocumentOptionBackgroundColor(UIColor.blue)
.setDigitalDocumentOptionCircleBackgroundColor(UIColor.cyan)
.setDigitalDocumentOptionBorderRadius(10)
.setDigitalDocumentOptionBorderColor(UIColor.gray)
.setDigitalDocumentOptionBorderWidth(10)
.setDigitalDocumentOptionIconColor(UIColor.white)
}
.build()2. Tela de captura de documento
Tela customizada
Esta tela deve estar em conformidade com o protocolo DocumentscopyCustomCaptureView, o qual será passado como argumento para o método setCaptureView(_:) do DocumentscopyCustomViews e que define os seguintes métodos e propriedades:
| Propriedade | Descrição |
|---|---|
| (1) backButton | Botão para fechar a tela. |
| (2) closeButton | Botão para fechar a tela. |
| (3) instructionLabel | Texto informativo com orientação da captura, é exibido por apenas alguns segundos. |
| (4) cameraPreview | Neste elemento será colocado a pré-visualização da câmera. |
| (5) cameraVisualizer | Elemento que determina onde a pré-visualização da câmera será visível. |
| (6) cameraMask | Elemento que determina onde a camera não será visível. |
| (7) captureButton | Botão para capturar foto. |
| (8) previewImageView | Elemento de imagem onde será exibida a imagem capturada para o usuário confirmar a qualidade da captura. |
| (9) retryButton | Botão para o usuário capturar a foto novamente. |
| (10) confirmButton | Botão para o usuário confirmar a foto capturada. |
Método | Descrição |
|---|---|
| Método que indica quando o elemento de confirmação de imagem deve ou não ser mostrado, esse método possui dois parâmetros:
|
| Método que indica qual o indicador de face do documento deve estar em foco no momento, esse método possui dois parâmetros:
|
| Método responsável por atribuir um novo título para o botão de usar foto ( |

Estado 01. | Estado 02.
Código de exemplo
/* Custom view */
final class DocumentscopyCustomCaptureViewExample: UIView, DocumentscopyCustomCaptureView {
var cameraMask: UIView!
var backButton: UIButton!
var closeButton: UIButton!
var instructionLabel: UILabel!
var cameraPreview: CameraPreviewView!
var cameraVisualizer: UIView!
var previewImageView: UIImageView!
var confirmButton: UIButton!
var retryButton: UIButton!
var captureButton: UIButton!
func displayConfirmationSheet(visibility: Visibility, animated: Bool) { ... }
func setFocus(to focusElement: FocusIndicator, animated: Bool) { ... }
func setConfirmButtonTitle(to newTitle: String) { ... }
}
/* Builder */
let customViews = DocumentscopyCustomViews.builder()
.setCaptureView(DocumentscopyCustomCaptureViewExample())
.build()
Importante
- A propriedade
cameraMaskassim como acameraPreviewdeve possuir suas constraints de leading, trailing, bottom e top iguais asuperviewe não àsafearea.- A propriedade
cameraMaskdeve ser adicionada após acameraPreview.
Pré-visualização da câmeraA
CameraPreviewViewé uma classe customizada que herda de umaUIView.
Builder de customização
No método setCaptureCustomization(_:) do DocumentscopyCustomization, você terá acesso ao builder responsável por essa tela, que disponibiliza todos os métodos listados a seguir:
Elemento | Método |
|---|---|
(1) Back button |
|
(2) Close button |
|
(3) Front indicator |
|
(4) Back indicator |
|
(5) Instruction text |
|
(6) Preview |
|
(7) Background |
|
(8) Capture button |
|
(9) Bottom sheet |
|
(10) Confirmation message |
|
(11) Retry button |
|
(12) Confirm button |
|

_Estado 01. | Estado 02.
Código de exemplo
let customization = DocumentscopyCustomization.builder()
.setCaptureCustomization { captureBuilder in
captureBuilder
.setBackButtonIcon(UIImage(named: "doc.text.magnifyingglass")!)
.setBackButtonIconColor(UIColor.white)
.setBackButtonBackgroundColor(UIColor.magenta)
.setBackButtonBorderColor(UIColor.green)
.setCloseButtonIcon(UIImage(named: "pencil")!)
.setCloseButtonIconColor(UIColor.magenta)
.setCloseButtonBackgroundColor(UIColor.green)
.setCloseButtonBorderColor(UIColor.white)
.setBackgroundColor(UIColor.red)
.setFrontIndicatorText("Front")
.setFrontIndicatorColor(UIColor.blue)
.setFrontIndicatorFocusedStateImage(UIImage(named: "trash"))
.setFrontIndicatorFocusedStateTextColor(UIColor.purple)
.setFrontIndicatorFocusedStateTextFont(UIFont.systemFont(ofSize: 20))
.setFrontIndicatorUnfocusedStateImage(UIImage(named: "doc.text.magnifyingglass"))
.setFrontIndicatorUnfocusedStateTextColor(UIColor.lightGray)
.setFrontIndicatorUnfocusedStateTextFont(UIFont.systemFont(ofSize: 20))
.setBackIndicatorText("Back")
.setBackIndicatorColor(UIColor.darkGray)
.setBackIndicatorFocusedStateImage(UIImage(named: "pencil"))
.setBackIndicatorFocusedStateTextColor(UIColor.cyan)
.setBackIndicatorFocusedStateTextFont(UIFont.systemFont(ofSize: 20))
.setBackIndicatorUnfocusedStateImage(UIImage(named: "checkmark"))
.setBackIndicatorUnfocusedStateTextColor(UIColor.black)
.setBackIndicatorUnfocusedStateTextFont(UIFont.systemFont(ofSize: 20))
.setInstructionGuideFrontText("Foto frontal do documento, please")
.setInstructionGuideBackText("Agora é a foto do verso")
.setInstructionConfirmationText("Hora da verdade, vê se ficou bom")
.setInstructionTextColor(UIColor.blue)
.setInstructionTextFont(UIFont.systemFont(ofSize: 22))
.setPreviewCapturedBorderColor(UIColor.green)
.setPreviewUncapturedBorderColor(UIColor.blue)
.setCaptureButtonIcon(UIImage(named: "trash")!)
.setCaptureButtonNormalIconColor(UIColor.systemPink)
.setCaptureButtonNormalBackgroundColor(UIColor.orange)
.setCaptureButtonNormalBorderColor(UIColor.black)
.setCaptureButtonDisabledIconColor(UIColor.green)
.setCaptureButtonDisabledBackgroundColor(UIColor.gray)
.setCaptureButtonDisabledBorderColor(UIColor.orange)
.setBottomSheetColor(UIColor.brown)
.setBottomSheetCornerRadius(15)
.setConfirmationMessageText("A foto tá legal?")
.setConfirmationMessageColor(UIColor.white)
.setConfirmationMessageFont(UIFont.systemFont(ofSize: 24))
.setConfirmButtonText("Yes")
.setConfirmButtonConfirmationText("Yessir")
.setConfirmButtonTextFont(UIFont.systemFont(ofSize: 30))
.setConfirmButtonTextColor(UIColor.red)
.setConfirmButtonBackgroundColor(UIColor.magenta)
.setConfirmButtonBorderColor(UIColor.cyan)
.setRetryButtonText("Nope")
.setRetryButtonTextFont(UIFont.systemFont(ofSize: 30))
.setRetryButtonTextColor(UIColor.orange)
.setRetryButtonBackgroundColor(UIColor.black)
.setRetryButtonBorderColor(UIColor.systemPink)
}
.build()3. Tela de captura de QR Code (CNH Digital)
Tela customizada
Esta tela deve estar em conformidade com o protocolo DocumentscopyCustomQrCodeView, o qual será passado como argumento para o método setQrCodeView(_:) do DocumentscopyCustomViews e que define os seguintes métodos e propriedades:
| Propriedade. | Descrição |
|---|---|
| (1) backButton | Botão para fechar a tela. |
| (2) cameraPreview | Neste elemento será colocado a pré-visualização da câmera. |
| (3) cameraMask | Elemento que determina onde a camera não será visível. |
| (4) cameraVisualizer | Elemento que determina onde a pré-visualização da câmera será visível. |
| (5) modalContainer | Elemento com instruções e o botão para tela de envio de documento. |
| (6) fileButton | Botão para o usuário confirmar a foto capturada. |
Método | Descrição |
|---|---|
| Método que indica quando a modal com botão de envio de documento será apresentada, esse método possui o seguinte parâmetro:
|
| Método que indica quando a modal com botão de envio de documento será removida da tela, esse método possui o seguinte parâmetro:
|

Tela de Captura de QR Code
/* Custom view */
final class DocumentscopyCustomQrCodeViewExample: UIView, DocumentscopyCustomQrCodeView {
var cameraPreview: CameraPreviewView!
var cameraMask: UIView!
var cameraVisualizer: UIView!
var backButton: UIButton!
var modalContainer: UIView!
var fileButton: UIButton!
func displayBottomSheet(animated: Bool) { ... }
func hideBottomSheet(animated: Bool) { ... }
}
/* Builder */
let customViews = DocumentscopyCustomViews.builder()
.setQrCodeView(DocumentscopyCustomQrCodeViewExample())
.build()Builder de customização
No método setQrCodeCustomization(_:) do DocumentscopyCustomization, você terá acesso ao builder responsável por essa tela, que disponibiliza todos os métodos listados a seguir:
Elemento | Método |
|---|---|
(1) Back button |
|
(2) Square Target Image |
|
(3) Bottom sheet |
|
(4) Title |
|
(5) Caption |
|
(6) File button |
|

Tela de Captura de QR Code
Código de exemplo
let customization = DocumentscopyCustomization.builder()
.setQrCodeCustomization { qrCodeBuilder in
qrCodeBuilder
.setBackButtonIcon(UIImage(named: "doc.text.magnifyingglass") ?? UIImage())
.setBackButtonIconColor(.white)
.setBackButtonBackgroundColor(.magenta)
.setBackButtonBorderColor(.green)
.setSquareTargetColor(.red)
.setBottomSheetColor(.brown)
.setBottomSheetCornerRadius(15)
.setTitle("Title")
.setTitleColor(.red)
.setTitleFont(UIFont.unwrapped(named: "Jersey20-Regular", size: 35))
.setCaption("caption")
.setCaptionColor(.green)
.setCaptionFont(UIFont.unwrapped(named: "Jersey20-Regular", size: 20))
.setFileButtonText("File")
.setFileButtonTextFont(UIFont.unwrapped(named: "Jersey24-Regular", size: 22))
.setFileButtonTextColor(.black)
.setFileButtonBackgroundColor(.yellow)
.setFileButtonBorderColor(.blue)
}
.build()4. Tela de envio de documento (CNH Digital)
Tela customizada
Esta tela deve estar em conformidade com o protocolo DocumentscopyCustomUploadView, o qual será passado como argumento para o método setUploadView(_:) do DocumentscopyCustomViews e que define os seguintes métodos e propriedades:
| Propriedade | Descrição |
|---|---|
| (1) backButton | Botão para voltar à tela anterior. |
| (2) closeButton | Botão para fechar o fluxo. |
| (3) uploadArea | Elemento que selecionado e apresenta o arquivo que será enviado. |
| (4) deleteButton | Botão para remover o arquivo adicionado. |
| (5) sendButton | Botão para enviar o documento para processamento. |
Método | Descrição |
|---|---|
| Método que indica quando o elemento com o nome do arquivo selecionado deve ser apresentado, esse método possui o seguinte parâmetro.
|
| Método que indica quando o elemento com o nome do arquivo selecionado deve ser removido. |

Tela de Envio de Documento
/* Custom view */
final class DocumentscopyCustomUploadViewExample: UIView, DocumentscopyCustomUploadView {
var backButton: UIButton!
var closeButton: UIButton!
var uploadArea: UIView!
var deleteButton: UIButton!
var sendButton: UIButton!
func displayFileContainer(with fileName: String) { ... }
func hideFileContainer() { ... }
}
/* Builder */
let customViews = DocumentscopyCustomViews.builder()
.setUploadView(DocumentscopyCustomUploadViewExample())
.build()Builder de customização
No método setUploadCustomization(_:) do DocumentscopyCustomization, você terá acesso ao builder responsável por essa tela, que disponibiliza todos os métodos listados a seguir:
Elemento | Método |
|---|---|
(1) Back button |
|
(2) Close button |
|
(3) Background |
|
(4) File title |
|
(5) File description |
|
(6) Upload area |
|
(7) Filename |
|
(8) Delete button |
|
(9) Send button |
|

Tela de Envio de Documento
Código de exemplo
let customization = DocumentscopyCustomization.builder()
.setUploadCustomization { uploadBuilder in
uploadBuilder
.setBackButtonIcon(UIImage(named: "doc.text.magnifyingglass"))
.setBackButtonIconColor(UIColor.white)
.setBackButtonBackgroundColor(UIColor.magenta)
.setBackButtonBorderColor(UIColor.green)
.setCloseButtonIcon(UIImage(named: "trash")!)
.setCloseButtonIconColor(UIColor.green)
.setCloseButtonBackgroundColor(UIColor.orange)
.setCloseButtonBorderColor(UIColor.blue)
.setBackgroundColor(UIColor.red)
.setFileTitle("Title")
.setFileTitleColor(UIColor.black)
.setFileTitleFont(UIFont.systemFont(ofSize: 35))
.setFileDescription("caption")
.setFileDescriptionColor(UIColor.green)
.setFileDescriptionFont(UIFont.systemFont(ofSize: 20))
.setUploadAreaBackgroundColor(UIColor.systemBlue)
.setUploadAreaContentColor(UIColor.white)
.setUploadAreaText("Upload document")
.setUploadAreaTextFont(UIFont.systemFont(ofSize: 18))
.setUploadAreaImage(UIImage(named: "doc.text.magnifyingglass"))
.setUploadAreaBorderColor(UIColor.lightGray)
.setUploadAreaBorderWidth(10.0)
.setUploadAreaBorderRadius(12.0)
.setFilenameColor(UIColor.cyan)
.setFilenameFont(UIFont.systemFont(ofSize: 16))
.setFilenameBackgroundColor(UIColor.systemGray)
.setDeleteButtonIcon(UIImage(named: "pencil"))
.setDeleteButtonIconColor(UIColor.red)
.setSendButtonText("Send document")
.setSendButtonTextFont(UIFont.systemFont(ofSize: 25))
.setSendButtonNormalTextColor(UIColor.systemPink)
.setSendButtonNormalBackgroundColor(UIColor.orange)
.setSendButtonNormalBorderColor(UIColor.black)
.setSendButtonDisabledTextColor(UIColor.green)
.setSendButtonDisabledBackgroundColor(UIColor.gray)
.setSendButtonDisabledBorderColor(UIColor.orange)
}
.build()5. Tela de processamento do documento
Tela customizada
Esta tela deve estar em conformidade com o protocolo DocumentscopyCustomLoadingView, o qual será passado como argumento para o método setLoadingView(_:) do DocumentscopyCustomViews e que é um typealias para o tipo UIView.

Tela de Processamento de Documento
/* Custom view */
final class DocumentscopyCustomLoadingViewExample: DocumentscopyCustomLoadingView { ... }
/* Builder */
let customViews = DocumentscopyCustomViews.builder()
.setLoadingView(DocumentscopyCustomLoadingViewExample())
.build()Builder de customização
No método setLoadingCustomization(_:) do DocumentscopyCustomization, você terá acesso ao builder responsável por essa tela, que disponibiliza todos os métodos listados a seguir:
Elemento | Método |
|---|---|
(1) Background |
|
(2) Loading |
|

Tela de Processamento de Documento
Código de exemplo
let customization = DocumentscopyCustomization.builder()
.setLoadingCustomization { loadingBuilder in
loadingBuilder
.setBackgroundColor(UIColor.orange)
.setSpinnerColor(UIColor.green)
.setSpinnerWidth(20.4)
.setSpinnerScaleFactor(8)
}
.build()6. Tela de resultado do processamento
Tela customizada
Esta tela deve estar em conformidade com o protocolo DocumentscopyCustomResultView, o qual será passado como argumento para o método setResultView(_:) do DocumentscopyCustomViews e que define os seguintes métodos e propriedades:
| Propriedade. | Descrição |
|---|---|
| (1) resultButton | Botão para fechar o fluxo de reconhecimento de documento. |
| Método | Descrição |
|---|---|
display(for:) | Esse método recebe como parâmetro um enum do tipo DocumentscopyResultType que indica qual resultado deve ser mostrado. |

Estado 01: caso de sucesso. | Estado 02: caso de erro. | Estado 03: caso de tentar novamente.
/* Custom view */
final class DocumentscopyCustomResultViewExample: UIView, DocumentscopyCustomResultView {
var resultButton: UIButton!
func display(for resultType: OILiveness2D.DocumentscopyResultType) { ... }
}
/* Builder */
let customViews = DocumentscopyCustomViews.builder()
.setResultView(DocumentscopyCustomResultViewExample())
.build()Builder de customização
No método setResultCustomization(_:) do DocumentscopyCustomization, você terá acesso ao builder responsável por essa tela, que disponibiliza todos os métodos listados a seguir:
Elemento | Método |
|---|---|
(1) Background |
|
(2) Image |
|
(3) Message |
|
(4) Retry button |
|

Estado 01: caso de sucesso. | Estado 02: caso de erro. | Estado 03: caso de tentar novamente.
Código de exemplo
let customization = DocumentscopyCustomization.builder()
.setResultCustomization { resultBuilder in
resultBuilder
.setSuccessBackgroundColor(UIColor.brown)
.setSuccessImage(UIImage(named: "doc.text.magnifyingglass"))
.setSuccessMessage("Success")
.setSuccessMessageColor(UIColor.white)
.setMessageFont(UIFont.systemFont(ofSize: 30))
.setErrorBackgroundColor(UIColor.systemPink)
.setErrorImage(UIImage(named: "pencil"))
.setErrorMessage("Error")
.setErrorMessageColor(UIColor.white)
.setRetryBackgroundColor(UIColor.magenta)
.setRetryImage(UIImage(named: "phone") ?? UIImage())
.setRetryMessage("Retry")
.setRetryMessageColor(UIColor.white)
.setRetryButtonText("Again")
.setRetryButtonTextFont(UIFont.systemFont(ofSize: 35))
.setRetryButtonTextColor(UIColor.cyan)
.setRetryButtonBackgroundColor(UIColor.brown)
.setRetryButtonBorderColor(UIColor.white)
}
.build()7. Tela de permissão da câmera
Tela customizada
Esta tela deve estar em conformidade com o protocolo DocumentscopyCustomCameraPermissionView, o qual será passado como argumento para o método setCameraPermissionView(_:) do DocumentscopyCustomViews.
NotaPor se tratar de uma tela comum aos três módulos do SDK, essa tela será descrita uma única vez ao final desta página. Customização da tela de permissão de câmera
Builder de customização
No método setCameraPermissionCustomization(_:) do DocumentscopyCustomization, você terá acesso ao builder responsável por essa tela, que disponibiliza todos os métodos listados a seguir:
Elemento | Método |
|---|---|
(1) Back button |
|
(2) Camera image |
|
(3) Title |
|
(4) Caption |
|
(5) Check permission button |
|
(6) Background |
|
(7) Bottom sheet |
|
(8) Bottom sheet title |
|
(9) Bottom sheet caption |
|
(10) Open settings button |
|
(11) Close button |
|

Tela de Permissão de Câmera
Código de exemplo
let customization = DocumentscopyCustomization.builder()
.setCameraPermissionCustomization { cameraPermissionBuilder in
cameraPermissionBuilder
.setBackgroundColor(UIColor.systemPink)
.setBackButtonIcon(UIImage(named: "pencil"))
.setBackButtonIconColor(UIColor.white)
.setBackButtonBackgroundColor(UIColor.white)
.setBackButtonBorderColor(UIColor.white)
.setCameraImage(UIImage(named: "trash"))
.setCameraImageColor(UIColor.cyan)
.setTitle("Permissão de câmera customizada")
.setTitleColor(UIColor.white)
.setTitleFont(UIFont.systemFont(ofSize: 40))
.setCaption("Descrição da permissão de câmera")
.setCaptionColor(UIColor.purple)
.setCaptionFont(UIFont.systemFont(ofSize: 30))
.setCheckPermissionButtonText("Averiguar")
.setCheckPermissionButtonTextFont(UIFont.systemFont(ofSize: 24))
.setCheckPermissionButtonTextColor(UIColor.red)
.setCheckPermissionButtonBackgroundColor(UIColor.blue)
.setCheckPermissionButtonBorderColor(UIColor.white)
.setBottomSheetColor(UIColor.green)
.setBottomSheetCornerRadius(0)
.setBottomSheetTitle("Hora de ir para os ajustes")
.setBottomSheetTitleColor(UIColor.blue)
.setBottomSheetTitleFont(UIFont.systemFont(ofSize: 30))
.setBottomSheetCaption("Ou será que não?")
.setBottomSheetCaptionColor(UIColor.orange)
.setBottomSheetCaptionFont(UIFont.systemFont(ofSize: 25))
.setOpenSettingsButtonText("Pular para ajustes")
.setOpenSettingsButtonTextFont(UIFont.systemFont(ofSize:20) )
.setOpenSettingsButtonTextColor(UIColor.red)
.setOpenSettingsButtonBackgroundColor(UIColor.blue)
.setOpenSettingsButtonBorderColor(UIColor.white)
.setCloseButtonText("Fechar tudo")
.setCloseButtonTextFont(UIFont.systemFont(ofSize: 22))
.setCloseButtonTextColor(UIColor.magenta)
.setCloseButtonBackgroundColor(UIColor.cyan)
.setCloseButtonBorderColor(UIColor.red)
}
.build()Updated about 2 months ago
