के बाहर TouchUpInside सीमाएं मैं वर्तमान में स्विफ्ट के तहत UIKit के साथ परिचित होने और प्रोग्रामिंग के यूआई तत्वों को जोड़ने का सबसे अच्छा तरीका काम करने के लिए तैयार हूं। हालांकि मुझे लगता है कि एक स्पर्श बटन के बाहर रास्ता समाप्त कर सकता है जिसमें यह अभी भी टचअप इनसाइड ईवेंट के रूप में पंजीकृत है। नीचे व्यू कंट्रोलर एक एकल दृश्य एप्लिकेशन से है और यह बटन 17 पर एक स्पर्श शुरू करने के लिए सीधा है, इसे बटन 18 पर समाप्त करें और अभी भी बटन एक्शन() घोषित करें "बटन टैप किया गया: 17"।UIButton
कोई विचार जो मैं यहां याद कर रहा हूं? (संपादित करें: यह Xcode 6 के तहत BTW है बीटा 3।)
// ViewController.swift
import UIKit
class ViewController: UIViewController {
let scrollView:UIScrollView = UIScrollView()
var GWIDTH:Float = 0.0
var GHEIGHT:Float = 0.0
override func viewDidLoad() {
super.viewDidLoad()
GWIDTH = self.view.bounds.size.width
GHEIGHT = self.view.bounds.size.height
scrollView.frame = CGRectMake(10, 10, GWIDTH-10, GHEIGHT-20)
scrollView.contentSize = CGSize(width:GWIDTH-20, height: 0)
self.view.addSubview(scrollView)
for currentTag in 1...30{
var currentButton = UIButton.buttonWithType(UIButtonType.System) as UIButton
currentButton.frame = CGRectMake(100, scrollView.contentSize.height, 100, 50)
currentButton.backgroundColor = UIColor.greenColor()
currentButton.setTitle("Test Button \(currentTag)", forState: UIControlState.Normal)
currentButton.tag = currentTag
currentButton.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
scrollView.addSubview(currentButton)
scrollView.contentSize = CGSize(width:GWIDTH-20,height:2.0+currentButton.frame.size.height+currentButton.frame.origin.y)
}//next
}// end viewDidLoad()
func buttonAction(sender:UIButton!){
println("Button tapped: \(sender.tag)")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}