Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

146
Visualizações
ToolbarContent: agrega un método .disabled(Bool)

He creado un ToolbarContent personalizado para botones comunes, como Guardar, Editar, Cancelar, etc...

Por ejemplo:

 import SwiftUI public struct SaveToolbarItem: ToolbarContent { private let placement: ToolbarItemPlacement private let action: () -> Void public init(placement: ToolbarItemPlacement = .confirmationAction, action: @escaping () -> Void = {}) { self.placement = placement self.action = action } public var body: some ToolbarContent { ToolbarItem(placement: placement) { Button( "Save" ) { action() } } } }

En el sitio de la llamada:

 .toolbar { SaveToolbarItem() { // some code for the Action presentationMode.wrappedValue.dismiss() } .disabled(true) // Value of type 'SaveToolbarItem' has no member 'disabled' }

Sin embargo, recibo el siguiente error al intentar usar el método isDisabled :

El valor del tipo 'SaveToolbarItem' no tiene ningún miembro 'deshabilitado'

¿Cómo puedo mitigar este error? Por ejemplo, ¿tal vez definir disabled solo en mis tipos personalizados de ToolbarContent ?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Necesitas colocarlo adentro, como

 public var body: some ToolbarContent { ToolbarItem(placement: placement) { Button( "Save" ) { action() } .disabled(true) // << here !! } }

* por supuesto, se espera que se pase el parámetro para disabled .

Actualizado: aquí hay un posible enfoque con el modificador disabled incorporado.

Probado con Xcode 13.2 / iOS 15.2

manifestación

 public struct SaveToolbarItem: ToolbarContent { private let placement: ToolbarItemPlacement private let action: () -> Void private var enabled = true public init(placement: ToolbarItemPlacement = .confirmationAction, action: @escaping () -> Void = {}) { self.placement = placement self.action = action } public var body: some ToolbarContent { ToolbarItem(placement: placement) { Button( "Save" ) { action() } .disabled(!enabled) } } func disabled(_ flag: Bool) -> Self { var newItem = self newItem.enabled = !flag return newItem } }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda