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

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

iOS crifan 3004浏览 0评论

【问题】

已实现一个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共存

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (5)

  1. 好好看了iOS栏目,博主把学习过程中的细节和问题都记录下来,值得称赞。如果能提供项目下载,供网友参考,那就更好了。谢谢。
    Kevin12年前 (2012-09-06)回复
    • 谢谢夸奖。关于这部分的源码,还真没想到要去放出来供大家下载,因为个人觉得偶这点代码太烂了,也太少了,加价值不高,呵呵。 当然,如果你或其他人有需要的话,那偶肯定很乐意分享,呵呵。 另外,以后某个时间,应该也会写一些基本的教程,并同时放出教程相关的源码的。经过整理的代码,相信可读性和参考价值,会更好些的。
      crifan12年前 (2012-09-06)回复
      • 继续关注。谢谢。
        nickevin12年前 (2012-09-06)回复
        • 我把代码放出来了,需要参考的,可以去下载了: 【源码下载】在实现了一系列的扩展功能后的Your Second iOS App的源码下载 https://www.crifan.com/after_implement_extend_functions_the_your_second_ios_app_source_code_download/
          crifan12年前 (2012-09-12)回复
92 queries in 0.188 seconds, using 22.18MB memory