0

ユーザーが身体測定値を記録するために使用するアプリがあります。現在、UIPickerView を使用していますが、(フラットでスキューではない) 巻尺のように見えるカスタム コントロールを作成したいと考えています。

ユーザーはメートル法または帝国単位の測定を使用できますが、それらを一緒に使用する UIPicker の現在のコードは非常に面倒なので、表現ごとに異なるクラスが必要です。

可能であれば、インターフェイスビルダーも使用したいと考えています。

だから私はこのようなものを構築したい:

UML

次に IB で最上位クラスを選択します。viewDidLoad で、ロードするサブクラスのタイプを選択したいと思います。

インターフェイスビルダー

私の質問は本当に、ここで間違った方向に進んでいますか? これを実装し始めたとき、viewDidLoad がヒットする前に、awakeFromNib を使用してコントロールが初期化されることに気付きました。

私が求めているものを達成するための最良の方法は何ですか? それとも私は単純化しすぎていますか?私が行きたい方向に行く最も簡単なアプローチは何ですか?

4

1 に答える 1

0

この動作を実現する良い方法は、ここで説明されているように戦略パターンを使用することだと思います

サブクラスを 1 つだけ持つことができます。HorizontalSliderプロパティstrategyと複数のヘルパー クラスを使用して、実際の処理を行います。

于 2013-08-25T16:17:16.843 に答える