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:
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.