swift - How can I create a handler, for dynamically created buttons, in the parent view controller? -
मैंने सबव्यू
को ViewController
से बनाया है। उपदृश्य
में, एकाधिक बटन बनाए जाते हैं जब बनाए गए बटन के किसी भी उपयोग किया जाता है, मैं समारोह buttonTapped ()
माता पिता में दृश्य नियंत्रक
कॉल करना चाहते हैं।
वर्ग ViewController : UIViewController {ओवरराइड समारोह viewDidLoad () {super.viewDidLoad () वर bestTeamEver = SFGiants (फ्रेम: CGRect (एक्स: 0, y: 100, चौड़ाई: view.bounds.width, ऊंचाई: 40)) view.addSubview (bestTeamEver) } ओवरराइड समारोह didReceiveMemoryWarning () {super.didReceiveMemoryWarning ()} buttonTapped () {NSLog ( "बटन के अंदर SFGIANTS TAPPPED")}} वर्ग SFGiants समारोह: UIView {ओवरराइड init (फ्रेम: CGRect) {super.init (फ्रेम: फ्रेम) के लिए मैं 0 में ... 10 {var new_x = मैं 44 वर बटन * = UIButton (फ्रेम: CGRect (एक्स: new_x, वाई: 0, चौड़ाई: 40, ऊंचाई: 40)) button.backgroundColor = UIColor.orangeColor () माता-पिता के दृश्य नियंत्रक बटन में // कॉल बटन टैप ()। लक्ष्य (स्वयं, एक्शन: "बटनटैप:", कंट्रोल ईवेंट्स: UIControlEvents.TouchDown) स्वयं .addSubview (बटन)}} आवश्यक init (सांकेतिक शब्दों में बदलनेवाला aDecoder: NSCoder) {super.init (सांकेतिक शब्दों में बदलनेवाला: aDecoder)}}
आप एक अनुकूलित init विधि बना सकते हैं और मूल दृश्य नियंत्रक के संदर्भ को पास कर सकते हैं और उसे बटन लक्ष्य पर सेट कर सकते हैं।
init (फ्रेम: सीजीआरएक्ट एक्शनलिस्टर: UIViewController) { I में 0 के लिए super.init (फ्रेम: फ्रेम) ... 10 {var new_x = i * 44 var बटन = UI बटन (फ्रेम: सीजीआरटीएक्स (एक्स: न्यू_एक्स, वाई: 0, चौड़ाई: 40, ऊंचाई: 40)) बटन .backgroundColor = UIColor.orangeColor () जनक दृश्य नियंत्रक button.addTarget में buttonTapped () कॉल // (ActionListener, कार्रवाई: "buttonTapped:", forControlEvents: UIControlEvents.TouchDown) self.addSubview (बटन)}}
< / प्री>
Comments
Post a Comment