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

220
Visualizações
Acceder al elemento del menú para desactivar/activar

Me gustaría implementar NSMenuItem para activar ciertas funciones (por ejemplo, "Ejecutar cálculo"). ¿Cómo accedo a los elementos del menú para habilitar o deshabilitar los elementos según la lógica de la aplicación? Por ejemplo, la función "cortar" para el texto solo se activa como elemento de menú cuando se selecciona la prueba. "Ejecutar cálculo" solo debe habilitarse cuando se dan ciertos criterios. ¡Gracias!

ingrese la descripción de la imagen aquí

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

0

Probablemente tenga algún controlador de vista o controlador de ventana que implemente runCalculation , como este:

 class ViewController: NSViewController { @IBAction func runCalculation(_ sender: Any?) { print(1 + 1) } }

Y ha conectado la acción del elemento de menú "Ejecutar cálculo" al método runCalculation cálculo del controlador.

Para habilitar y deshabilitar el elemento del menú, siga estos pasos:

  1. Asegúrese de que el menú "Calculadora" en sí (del tipo NSMenu ) tenga activada la propiedad "Auto Enable Items" en IB, o que tenga autoenablesItems configurado como verdadero en el código.

    casilla de verificación de elementos de habilitación automática del menú

  2. Haga que su controlador se ajuste al protocolo NSUserInterfaceValidations :

     extension ViewController: NSUserInterfaceValidations { func validateUserInterfaceItem(_ item: NSValidatedUserInterfaceItem) -> Bool { // See step 3... return true } }
  3. En validateUserInterfaceItem , verifica si la action del elemento es runCalculation(_:) . Si es así, devuelva verdadero si y solo si desea permitir que el usuario ejecute el cálculo:

     extension ViewController: NSUserInterfaceValidations { func validateUserInterfaceItem(_ item: NSValidatedUserInterfaceItem) -> Bool { switch item.action { case #selector(runCalculation(_:))?: // Put your real test here. return !textField.stringValue.isEmpty default: return true } } }
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