2015-10-30 17 views
6

Quando ho creato un pulsante in precedenza aveva la capacità di essere una funzione di "azione" IBA ..al clic sull'etichetta vai alla pagina successiva

Come si crea la stessa cosa con un'etichetta? quindi quando clicco l'etichetta la mia app indirizzerà a una nuova pagina. (e come posso farlo per dirigere verso una nuova pagina? dovrei fare una visione completamente nuova e in qualche modo collegarla a quella)

Si prega di tenere a mente, io sono un totalmente nuovo a rapido e sono già arrivato con il mio programma, ma sono stati tratti da diversi tutorial e quindi potrei avere difficoltà a capire la tua risposta la prima volta.

risposta

10

È possibile utilizzare UITapGestureRecognizer per questo e al di sotto è semplice esempio per voi:

import UIKit 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let label = UILabel(frame: CGRectMake(0, 0, 200, 21)) 
     label.center = CGPointMake(160, 284) 
     label.textAlignment = NSTextAlignment.Center 
     label.userInteractionEnabled = true 
     label.text = "I'am a test label" 
     self.view.addSubview(label) 

     let gestureRecognizer = UITapGestureRecognizer(target: self, action: "handleTap:") 
     label.addGestureRecognizer(gestureRecognizer) 
    } 

    func handleTap(gestureRecognizer: UIGestureRecognizer) { 
     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let vc = storyboard.instantiateViewControllerWithIdentifier("next") 
     self.presentViewController(vc, animated: true, completion: nil) 
    } 
} 

Risultato:

enter image description here

Progetto sample per maggiori informazioni.

+0

ottengo questo quando provo a eseguire il codice nella mia app: "libC++ abi.dylib: terminazione con eccezione non rilevata di tipo NSException (lldb) " – Frederic

+0

Mostra il registro di arresto completo –

+0

Vuoi dire tutto dal mio" tutto in uscita "? (mi dispiace, nuovo a Xcode.) – Frederic

0

Swift 3

1- Assicurarsi di aver controllato il "Interazione Utente Abilitato" negli attributi ispettore.

2- Codice:

 let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(YourVC.labelTapped)) 
     yourLabel.addGestureRecognizer(gestureRecognizer) 

3- Utilizzare il func:

func labelTapped() { 
    print("labelTapped tapped") 
} 
Problemi correlati