ios – Swift UIDatePicker用于文本字段输入 – 如何使UIDatePicker消失?

前端之家收集整理的这篇文章主要介绍了ios – Swift UIDatePicker用于文本字段输入 – 如何使UIDatePicker消失?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我第一次尝试 Swift或iPhone应用程序,所以不用说,我不知道在这一点上如何做很多事情.

现在我有一个带有文本字段和按钮的视图控制器.我设法找到示例代码几乎完成了我需要的.我想做以下事情:

>当我点击文本字段中有一个UIDatePicker来屏幕.
>设置UIDate选择器仅显示时间 – 不是日期.
>将选定的UIDatePicker时间放在文本框中.
>当我点击按钮时,UIDatePicker会消失.

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.

    }

}

解决方法

您在文本字段上调用resignFirstResponder:
@IBAction func DoneButton(sender: UIButton) {
    dateField.resignFirstResponder()
}

此外,拥有相同名称方法属性不是一个好主意 – 不能确定优先级,但有可能在某些时候会令人困惑.

猜你在找的iOS相关文章