Saltar al contenido

cómo ocultar / mostrar un botón en Swift

Solución:

Como dice @LAmasse, quieres usar button.hidden = true. button.hidden fue renombrado a button.isHidden en Swift 3

El código que publicaste no tiene sentido.

if self.Status.text == "Closed" 
{
  Purchase().enable = false
}

¿Qué es la compra? Por el nombre en mayúscula, parece ser una clase. Si es así, la expresión Purchase() es probable que esté creando una nueva instancia del Purchase clase, que no tiene sentido. ¿Por qué estás haciendo una llamada de función? Si eso es crear un nuevo Purchase objeto, entonces ese código no tiene sentido. (Crearías un nuevo objeto dentro del if declaración que se descartaría en la siguiente línea, ya que no mantiene una fuerte referencia a ella).

Desea configurar un IBOutlet para su botón y conectarlo en Interface Builder.

La declaración podría verse así:

Class MyViewController: UIViewController
{
  @IBOutlet weak var theButton: UIButton!
  //The rest of your view controller's code goes here
}

Si la salida está conectada a su botón, debe haber un círculo relleno a la izquierda de la línea de código. Se parece a esto:

ingrese la descripción de la imagen aquí

Y luego su código para mostrar / ocultar el botón podría verse así:

func showQueryResults
{
  var query3 = PFQuery(className:"Status_of_game")
  query3.findObjectsInBackgroundWithBlock()
  {
    (namelist3: [AnyObject]!, error : NSError!) -> Void in
    for list3 in namelist3 
    {
      var output = list3["StatusType"] as String
      self.Status.text = output
      println(output)
      if output == "Closed" 
      {
        theButton.isHidden = false //changed to isHidden for Swift 3
      }
    }
  }
}

No me queda claro por qué recorre todos los resultados de su consulta y muestra el botón si el “Tipo de estado” de cualquiera de los resultados es == “Cerrado”.

Finalmente, no estoy muy familiarizado con parse. Si el bloque de finalización para el método findObjectsInBackgroundWithBlock no se llama en el hilo principal, tendrá que cambiar ese código para realizar las actualizaciones de la interfaz de usuario en el hilo principal.

EDITAR:

Desde entonces, aprendí que Parse ejecuta sus controladores de finalización en el hilo principal, por lo que no necesita preocuparse por las llamadas a la interfaz de usuario de los controladores de finalización de Parse.

SWIFT 3

Creé un

IBOutlet: loadingBDLogo

Mostrar:

loadingBDLogo.isHidden = false

Esconder:

self.loadingBDLogo.isHidden = true

El código de muestra para ocultar un botón en Swift:

import UIKit

class ViewController: UIViewController {

// Create outlet for both the button
@IBOutlet weak var button1: UIButton!
@IBOutlet weak var button2: UIButton!

override func viewDidLoad() {
    super.viewDidLoad()
    //Set button2 hidden at start
    button2.isHidden = true
}



//Here is the action when you press button1 which is visible
@IBAction func button1(sender: AnyObject) {
    //Make button2 Visible
    button2.isHidden = false
    }

}

Y

Tienes que hacer del UIButton una propiedad de la clase si quieres mantener una referencia a él. Luego puede acceder a él usando self.takePhotoButton.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *