Date 日期选择器配置
对不起,我的英语和问题 我将xCode 6与swift一起使用 我正在尝试开发自己的应用程序,但我不知道如何要求用户设置日期,因此我可以在另一面使用该值:我不在乎它是否使用带滚动或其他方式的日期选择器,只需要用户可以设置任何日期。我猜不出日期选择器是如何工作的:S 我在一个开发“Tinder”的课程中发现了这段代码,当它在登录中询问你的出生日期时,我将其应用到我的应用程序中,但它不起作用,我不知道为什么:SDate 日期选择器配置,date,swift,datepicker,xcode6,Date,Swift,Datepicker,Xcode6,对不起,我的英语和问题 我将xCode 6与swift一起使用 我正在尝试开发自己的应用程序,但我不知道如何要求用户设置日期,因此我可以在另一面使用该值:我不在乎它是否使用带滚动或其他方式的日期选择器,只需要用户可以设置任何日期。我猜不出日期选择器是如何工作的:S 我在一个开发“Tinder”的课程中发现了这段代码,当它在登录中询问你的出生日期时,我将其应用到我的应用程序中,但它不起作用,我不知道为什么:S import UIKit class SignUpController: UIView
import UIKit
class SignUpController: UIViewController, UITextFieldDelegate {
var pickerContainer = UIView()
var picker = UIDatePicker()
@IBOutlet weak var selectedDate: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.selectedDate.setTitle("", forState: UIControlState.Normal)
configurePicker()
}
func configurePicker()
{
pickerContainer.frame = CGRectMake(0.0, 600.0, 320.0, 300.0)
pickerContainer.backgroundColor = UIColor.whiteColor()
picker.frame = CGRectMake(0.0, 20.0, 320.0, 300.0)
picker.setDate(NSDate(), animated: true)
picker.maximumDate = NSDate()
picker.datePickerMode = UIDatePickerMode.Date
pickerContainer.addSubview(picker)
var doneButton = UIButton()
doneButton.setTitle("Done", forState: UIControlState.Normal)
doneButton.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)
doneButton.addTarget(self, action: Selector("dismissPicker"), forControlEvents: UIControlEvents.TouchUpInside)
doneButton.frame = CGRectMake(250.0, 5.0, 70.0, 37.0)
pickerContainer.addSubview(doneButton)
self.view.addSubview(pickerContainer)
}
@IBAction func selectDate(sender: AnyObject)
{
UIView.animateWithDuration(0.4, animations: {
var frame:CGRect = self.pickerContainer.frame
frame.origin.y = self.view.frame.size.height - 300.0 + 84
self.pickerContainer.frame = frame
})
}
func dismissPicker ()
{
UIView.animateWithDuration(0.4, animations: {
self.pickerContainer.frame = CGRectMake(0.0, 600.0, 320.0, 300.0)
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
self.selectedDate.setTitle(dateFormatter.stringFromDate(self.picker.date), forState: UIControlState.Normal)
})
}
我为你做了一些改变。除了在代码末尾添加一个右括号外,我还在两个地方修改了CGRectMake坐标。屏幕上什么都没有。在实现代码时,我在视图的左上角添加了日期显示按钮,并将其连接到IBOutlet。这会给你一个好的开始
import UIKit
class SignUpController: UIViewController, UITextFieldDelegate {
var pickerContainer = UIView()
var picker = UIDatePicker()
@IBOutlet weak var selectedDate: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.selectedDate.setTitle("", forState: UIControlState.Normal)
configurePicker()
}
func configurePicker()
{
pickerContainer.frame = CGRectMake(0.0, 50, 320.0, 300.0)
pickerContainer.backgroundColor = UIColor.whiteColor()
picker.frame = CGRectMake(0.0, 20.0, 320.0, 300.0)
picker.setDate(NSDate(), animated: true)
picker.maximumDate = NSDate()
picker.datePickerMode = UIDatePickerMode.Date
pickerContainer.addSubview(picker)
var doneButton = UIButton()
doneButton.setTitle("Done", forState: UIControlState.Normal)
doneButton.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal)
doneButton.addTarget(self, action: Selector("dismissPicker"), forControlEvents: UIControlEvents.TouchUpInside)
doneButton.frame = CGRectMake(250.0, 5.0, 70.0, 37.0)
pickerContainer.addSubview(doneButton)
self.view.addSubview(pickerContainer)
}
@IBAction func selectDate(sender: AnyObject)
{
UIView.animateWithDuration(0.4, animations: {
var frame:CGRect = self.pickerContainer.frame
frame.origin.y = self.view.frame.size.height - 300.0 + 84
self.pickerContainer.frame = frame
})
}
func dismissPicker ()
{
UIView.animateWithDuration(0.4, animations: {
self.pickerContainer.frame = CGRectMake(0.0, 50, 320.0, 300.0)
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
self.selectedDate.setTitle(dateFormatter.stringFromDate(self.picker.date), forState: UIControlState.Normal)
})
}
}
非常感谢。你保存了我的项目!!