使用Interface Builder的可重用日期选择器可能吗?

时间:2011-12-19 09:44:01

标签: objective-c xcode ipad interface-builder xcode4.2

我的问题类似于iPhone: Create a reusable component (control) that has some Interface Builder pieces and some code,但它并没有完全解决我的问题。此外,它是一年后的现在,谁知道在此期间发生了什么变化。

我正在使用Interface Builder和故事板开发iPad应用程序。我需要在几个地方使用相同的日期选择器弹出窗口,但我无法弄清楚如何从不同的视图重用相同的组件。我花了几个小时在这上面,尝试一下,阅读文档,谷歌搜索和堆栈溢出。

目前我已经完成了一项黑客工作,它让我获得了功能,但它并不漂亮。到目前为止,最有希望的方法是从按钮到新的UIViewController有一个popover segue,它包含日期选择器和其他一些小部件。这会在按下按钮时显示日期选择器弹出窗口,并在按下日期选择器时将其设置为动画。

但是,我无法弄清楚如何从多个按钮中使用它。我试过代表但是我搞砸了。

1 个答案:

答案 0 :(得分:2)

您可以在其视图中实现具有日期选择器的视图控制器。我们将此DatePickerViewController命名为。这个类可以实现一个协议,比如datePickerViewController:pickedDate:或类似的东西。使用此日期选择器选择日期时,它可以通知其代理选择的日期。

然后,每当您需要从按钮显示此日期选择器时,您可以创建一个新的UIPopoverController,创建一个新的DatePickerViewController实例,将此实例作为其{{1从你的按钮中显示弹出控制器。

要获取有关所选日期的信息,当您创建contentViewController时,可以将展示视图控制器设置为DatePickerViewController,以便了解所选日期。