之前已经给Your Second iOS App中的BirdWatching中的Bird Name的输入框,改为了下拉菜单,支持用户的选择,是通过UIPickerView实现的。
现在接着参考:Your Second iOS App – Next Steps中的那句:
Allow the user to enter a specific date, rather than automatically using today’s date.
去添加对应的自定义日期。
1.然后参考官网的DateCell去添加内容。
2.后来遇到UIPickerView和UIDatePicker共存的问题,现已解决,详情可参考:
【已基本解决】静态的UIDatePicker和UIPickerView在UITableView共存
3.然后接着参考DateCell中的事件设置:
然后给BirdWatching中的UIDatePicker的Value Changed事件关联到一个新建的Outlet action中去:
再去实现对应的dateChanged代码:
-(IBAction)dateChangedAction:(id)sender{ NSDate* selectedDate = self.datePicker.date; self.dateInput.text = [self.dateFormatter stringFromDate:selectedDate]; }
但是运行的结果却是,虽然可以正确选择对应的日期,以及也可以跳转到dateChanged函数中,但始终却是无法看到对应Date的TextField的text变为对应的日期字符串。
4.调试结果发现,stringFromDate得到的结果,始终是空的,所以后来就去调试,最后解决了。详情参考:
【已解决】iOS中,从NSDateFormatter的stringFromDate中获得的值,始终是空字符串/nil
最终,终于实现了,可以通过日期选择器,设置Date处的值。