2015-10-30 15 views
6

Kiedy stworzył przycisk wcześniej miał możliwość być funkcja „działanie” IBA ..na kliknięcie na etykiecie przejść do następnej strony

Jak mogę utworzyć to samo z etykietą? więc po kliknięciu etykiety moja aplikacja przekieruje do nowej strony. (i jak mogę go skierować na nową stronę? czy powinienem zrobić zupełnie nowe spojrzenie iw jakiś sposób połączyć to z tym)

Proszę pamiętać, że jestem całkowicie nowy na szybkie i przyszedł już do mnie z moim programem, ale jego fragmenty pochodziły z kilku tutoriali iz tego powodu może mi ciężko zrozumieć twoją odpowiedź po raz pierwszy.

Odpowiedz

10

Można użyć UITapGestureRecognizer za to i poniżej jest prosty przykład dla Ciebie:

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) 
    } 
} 

Wynik:

enter image description here

projekt sample aby uzyskać więcej informacji.

+0

uzyskać to przy próbie uruchomienia kodu w mojej aplikacji: „libC++ abi.dylib: kończące z niezamierzonym wyjątkiem typu NSException (lldb) " – Frederic

+0

Pokaż swój pełny dziennik awarii –

+0

Czy masz na myśli wszystko, od mojego" wszystkiego na wyjściu "? (przykro mi, nowość w Xcode). – Frederic

0

Swift 3

1- Upewnij się, że zaznaczone jest "interakcji użytkownika Włączone" w atrybutach inspektora.

2- Kod:

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

3- Użyj func:

func labelTapped() { 
    print("labelTapped tapped") 
} 
Powiązane problemy