2015-12-16 7 views
5

काम नहीं कर रहा है, लेकिन टचडाउन घटना फायरिंग नहीं है। (TouchUpInside भी कोशिश की)।सरल tvOS UIButton मैं एक साधारण UIButton (tvOS & स्विफ्ट) को लागू करने की कोशिश कर रहा हूँ

  • सिम्युलेटर में मैं दृष्टि से देख सकता हूं कि बटन दबाया गया है।

मेरी ViewController.swift कोड है:

import UIKit 

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let button = UIButton(type: UIButtonType.System) 
     button.frame = CGRectMake(100, 100, 400, 150) 
     button.backgroundColor = UIColor.greenColor() 
     button.setTitle("Test", forState: UIControlState.Normal) 
     button.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchDown) 

     self.view.addSubview(button) 

     self.view.userInteractionEnabled = true  
    } 

    func buttonAction(sender:UIButton!){ 
     NSLog("Clicked") 
    } 
} 

क्या मैं के लिए एक बटन पर क्लिक करें पता लगाने के लिए क्या करने की जरूरत है?

उत्तर

23

आपको टीवीओएस पर "टचडाउन" या "टचअप इनसाइड" का उपयोग नहीं करना चाहिए, क्योंकि इससे आप जो भी उम्मीद कर सकते हैं वह नहीं करता है: आप शायद इसके बजाय "UIControlEvents.PrimaryActionTriggered" का उपयोग करना चाहते हैं।

TouchUpInside वास्तविक छूता है, जो वास्तव में नहीं है कि क्या होने से शुरू हो रहा है। यदि आप अपने बटन को ट्रिगर करने के लिए रिमोट पर सिलेक्ट बटन दबाएं चाहते हैं, तो आपको प्राथमिक एक्शन ट्रिगर का उपयोग करना चाहिए।

+0

वही था जो मैं खोज रहा था, वर्क्स ग्रेट! धन्यवाद @Erez – Dizzy

+0

@Dizzy http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work –

+0

धन्यवाद man.It ठीक से कहीं प्रलेखित किया जाना चाहिए। – abhi1992