【问题】
已实现一个UITableView,其中有三个静态的UITableViewCell,下面放了个UIPickerView。都已经实现了delegate和outlet,也编写了代码,都可以正常工作了。
现在想要再添加一个静态的UIDatePicker,希望和第三个UITableViewCell中的一个dateInput的UITextField关联。
问题来了,当把UIDatePicker拖动到UITableView中后:
结果发现,其把原先的静态的UIPickerView冲掉了,同时之前所关联的outlet,也变为空的了:
现在希望在UITableView中可以同时放置静态的UIPickerView和UIDatePicker两个控件,且都是处于三个UITableViewCell下面空出的位置,使其都同时存在。
【解决过程】
1.后来经过尝试,如果想要同时支持UIPickerView和UIDatePicker,倒是可以把其中一个,放到UITableViewCell中:
但却不是我所想要的,所以废弃此法。
2.后来经过折腾,还是无法实现在UITableView中除了三个UITableViewCell之外的剩余空间中,直接同时放UIPickerView和UIDatePicker。
但是,可以通过其他手段来实现同样的效果:
把UITableView中三个UITableViewCell之外剩余空间放置了第四个UITableViewCell,然后把其背景设置为灰色:
然后在此第四个UITableViewCell中,是可以同时放置UIPickerView和UIDatePicker的,然后两者都把hidden设置为true。
接着再去根据具体的逻辑,选择其他cell时,把相应的选择器的hidden设置为false得以显示,取消选择不同的cell时,hidden设置为true隐藏显示,如此就可以实现了所需要的效果了:
对于不同的UITableViewCell,选择和取消时,都可以显示或取消对应的UIPickerView/UIDatePicker/键盘等输入工具。
【总结】
UITableView中,无法直接拖动放置UIPickerView和UIDatePicker,而只能采取另外的办法,多放一个UITableViewCell,然后再UITableViewCell中,就可以同时放置UIPickerView和UIDatePicker了。
转载请注明:在路上 » 【已基本解决】静态的UIDatePicker和UIPickerView在UITableView共存