Ho chiamato un pulsante e gli ho fornito un UIGestureRecognizer in modo che IBAction venga eseguito solo quando il pulsante è premuto a lungo. A tale scopo, aggiungi UILongPressGestureRecognizer al pulsante stesso. Poi si controlla trascinare che riconoscitore gesto per una funzione come questa:Il mittente UITapGestureRecognizer è il gesto, non l'oggetto ui
@IBAction func handleGesture(sender: UIGestureRecognizer) {
if sender.state == UIGestureRecognizerState.Began
{
let labelTap1=UITapGestureRecognizer(target: self, action: "labelTapped:")
let alertController = UIAlertController(title: "**I want this to be the title of the button**", message:
"This is the description of the function you pressed", preferredStyle: UIAlertControllerStyle.Alert)
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default,handler: nil))
self.presentViewController(alertController, animated: true, completion: nil)
}
}
Come si può vedere visualizzato l'UIAlertController, voglio il titolo per mostrare i pulsanti di titolo corrente. Se il mittente di questa funzione era il pulsante, potrei chiamarlo con sender.currentTitle. Come posso ottenere il titolo del pulsante che è legato al gesto, quando il mittente della funzione è il gesto.
Ho visto messaggi di questo tipo nell'obiettivo C, ma nulla in realtà su Swift. Questo è tutto per un progetto per ottenere una descrizione di pulsanti quando si esegue una pressione prolungata sul pulsante stesso. Se qualcuno ha qualche idea su come realizzare ciò con quello che ho fatto finora, o ha un metodo diverso, per favore dimmelo.
Grazie!
Ah, questo ha molto senso. Sono nuovo di swift e iOS, provenienti da uno sfondo web front-end. Grazie per l'aiuto! – modesitt
Sì, la cosa che in realtà ti sta parlando è il riconoscitore di gesti; è l'agente che individua l'azione. Devi quindi chiedergli quale vista stava guardando. Non sono sicuro se questo aiuti qualcuno. – Tommy