最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已基本解决】静态的UIDatePicker和UIPickerView在UITableView共存

iOS crifan 3272浏览

【问题】

已实现一个UITableView,其中有三个静态的UITableViewCell,下面放了个UIPickerView。都已经实现了delegate和outlet,也编写了代码,都可以正常工作了。

现在想要再添加一个静态的UIDatePicker,希望和第三个UITableViewCell中的一个dateInput的UITextField关联。

问题来了,当把UIDatePicker拖动到UITableView中后:

已拖进去的UIDatePicker

结果发现,其把原先的静态的UIPickerView冲掉了,同时之前所关联的outlet,也变为空的了:

UIPickerView的outlet也没了

 

现在希望在UITableView中可以同时放置静态的UIPickerView和UIDatePicker两个控件,且都是处于三个UITableViewCell下面空出的位置,使其都同时存在。

 

【解决过程】

1.后来经过尝试,如果想要同时支持UIPickerView和UIDatePicker,倒是可以把其中一个,放到UITableViewCell中:

added UIPickerView

但却不是我所想要的,所以废弃此法。

2.后来经过折腾,还是无法实现在UITableView中除了三个UITableViewCell之外的剩余空间中,直接同时放UIPickerView和UIDatePicker。

但是,可以通过其他手段来实现同样的效果:

把UITableView中三个UITableViewCell之外剩余空间放置了第四个UITableViewCell,然后把其背景设置为灰色:

4th cell gray background

然后在此第四个UITableViewCell中,是可以同时放置UIPickerView和UIDatePicker的,然后两者都把hidden设置为true。

接着再去根据具体的逻辑,选择其他cell时,把相应的选择器的hidden设置为false得以显示,取消选择不同的cell时,hidden设置为true隐藏显示,如此就可以实现了所需要的效果了:

对于不同的UITableViewCell,选择和取消时,都可以显示或取消对应的UIPickerView/UIDatePicker/键盘等输入工具。

【总结】

UITableView中,无法直接拖动放置UIPickerView和UIDatePicker,而只能采取另外的办法,多放一个UITableViewCell,然后再UITableViewCell中,就可以同时放置UIPickerView和UIDatePicker了。

转载请注明:在路上 » 【已基本解决】静态的UIDatePicker和UIPickerView在UITableView共存

91 queries in 0.222 seconds, using 19.20MB memory