故事板中控件的动态子类

时间:2013-08-25 11:42:31

标签: ios objective-c inheritance interface-builder

我有一个用户用来记录身体测量值的应用程序。目前它使用UIPickerView,但我想编写一个自定义控件,它看起来更像是一个(扁平的,非skeu!)卷尺。

用户可以使用公制或英制测量,我想为每个表示设置一个不同的类,因为UIPicker的当前代码与它们在一起非常混乱。

我也希望尽可能使用界面构建器。

所以我想建立这样的东西:

UML

然后在IB中我选择顶级课程。在viewDidLoad中,我想选择要加载的子类的类型。

Interface Builder

我的问题是,我在这里采取了错误的指示吗?当我开始实现这个时,我意识到在viewDidLoad被击中之前使用awakeFromNib初始化控件。

实现我追求目标的最佳途径是什么?还是我过度简化?在我想要的方向上,最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为实现此行为的好方法是使用here

中所述的策略模式

你可以只有一个子类:HorizontalSlider具有strategy属性和多个辅助类来完成真正的工作。