2017-06-13 85 views
0

基于我之前在here中的问题。我有两个datePicker让我们说A和B.我想设置A的最大值是B.date并且B的最小值是A.date。 但是当我改变B值时,A的最大值仍然在旧B的最大值。我对此没有任何想法。Swift:将最小/最大DatePicker设置为其他DatePicker

let date = NSDate() 
self.datePickerFrom.maximumDate = date as Date 
self.datePickerTo.minimumDate = datePickerFrom.date 

任何sugest和答案将帮助我。提前致谢。

+0

你在日期选择器B的行动中设置此代码? – Hosny

+0

@Hosny我把它设置在viewDidLoad中。我做错了吗? –

回答

2

您需要告诉视图控制器中的某些功能,日期选择器已更改。要做到这一点,声明一些@IBAction中,看起来像这样您的视图控制器:

@IBAction func datePickerChanged(sender: UIDatePicker) 
{ 
    print("date has been set to \(sender.date)") 
} 

然后在你的故事板或XIB文件,点击您的日期选择器和“尊贵的更改”事件连接到这个新的方法。

connect value changed

然后运行一下,看看是否在控制台中print行打印。

如果是这样,您可以填写更多的功能。也许是这样的:

@IBAction func datePickerChanged(sender: UIDatePicker) 
{ 
    if sender == self.datePickerFrom 
    { 
      self.datePickerTo.minimumDate = sender.date 
    } 
    if sender == self.datePickerTo 
    { 
      self.datePickerFrom.maximumDate = sender.date 
    } 
} 
+0

我现在明白了,谢谢它的工作 –

相关问题