这是我第一次尝试Swift或iPhone应用程序,所以不用说我不知道如何在这一点上做很多事情.
现在我有一个带有文本字段和按钮的视图控制器.我已经设法找到示例代码几乎完成我需要的东西.我想做以下事情:
1到3正在工作.但我无法弄清楚如何让UIDatePicker消失,如果再次点击进入文本字段,仍然会回到屏幕上.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var dateField: UITextField!
@IBAction func dateField(sender: UITextField) {
var datePickerView : UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Time
sender.inputView = datePickerView
datePickerView.addTarget(self, action: Selector("handleDatePicker:"), forControlEvents: UIControlEvents.ValueChanged)
}
@IBAction func DoneButton(sender: UIButton) {
//How to make datepicker disappear???
}
func handleDatePicker(sender: UIDatePicker) {
var timeFormatter = NSDateFormatter()
timeFormatter.dateStyle = .NoStyle
timeFormatter.timeStyle = .ShortStyle
dateField.text = timeFormatter.stringFromDate(sender.date)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
Run Code Online (Sandbox Code Playgroud)
你打电话resignFirstResponder给文本字段:
@IBAction func DoneButton(sender: UIButton) {
dateField.resignFirstResponder()
}
Run Code Online (Sandbox Code Playgroud)
另外,拥有一个具有相同名称的方法和属性并不是一个好主意 - 不确定那里的优先级,但在某些时候它可能会令人困惑.