2015-10-30 2 views
6

Когда я создал кнопку раньше она имела способность быть «действие» функция IBA ..по щелчку на этикетке перейти на следующую страницу

Как я могу создать то же самое с лейблом? поэтому, когда я нажимаю ярлык, мое приложение направит на новую страницу. (и как я могу заставить его перейти на новую страницу? мне нужно было бы сделать совершенно новое представление и каким-то образом связать его с этим)

Пожалуйста, обратите внимание, я совершенно новый для быстрой и уже пришли вместе с моей программой, но это были части из нескольких учебников, и поэтому я мог бы с трудом понять ваш ответ в первый раз.

ответ

10

Вы можете использовать UITapGestureRecognizer для этого и ниже простой пример для вас:

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

Результат:

enter image description here

Проект sample для получения дополнительной информации.

+0

Я получаю это когда я пытаюсь запустить код в моем приложении: «LibC++ abi.dylib: терминатор с неперехваченным исключением типа NSException (lldb) " – Frederic

+0

Показать полный журнал сбоев –

+0

Вы имеете в виду все, от моего« всего вывода »? (извините, новичок в Xcode.) – Frederic

0

Swift 3

1- Убедитесь, что вы проверили "взаимодействие с пользователем Enabled" в атрибутах инспектора.

2 Код:

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

3- Используйте FUNC:

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