いくつかの再利用可能なコントロールを含む独自のUIライブラリを作成したいと思います。非常にシンプルなものは、UIView(おそらくUIImageView)とUILabelを含むLabeledViewです。iOS:ペン先からカスタムUIViewをロード
----------------
| outer UIView |
| ------------ |
| | | |
| | UIView | |
| | | |
| ------------ |
| | UILabel | |
| ------------ |
----------------
これをInterface Builderで実装し、外部UIViewを作成するときに内部UIViewとUILabelを「注入」するにはどうすればよいですか?私は外部のUIViewをFile's Ownerとして持ち、内側のUIViewとUILabelをLabeledViewのプロパティにIBOutletsで接続しています。この方法は、その定義されたレイアウトでペン先からビューをロードし、それにtheView
とtheLabel
を挿入する必要があり
[[LabeledView alloc] initWithView:(UIView *)theView andLabel:(UILabel *)theLabel]
:私は今のようにinit関数を想像しています。これは難しいことではありませんか?私はあなたがペン先に意見などを定義した場合、あなたはここで説明loadNibNamed:
を使用して、実行時にそれらを追加することができます...
はい、わかりました。しかし、私は内側のUIViewとそのUILabelから外側のUIViewを作成する前に、それらを "注入"して、nibのレイアウトとサイズを適合させたいと思います。 – cschuff
私は内部ビューとラベルがペン先の一部であると仮定しました。ファイルの所有者である外側のビューに接続されているアウトレットなので、ペン先に含める必要があります。私はあなたが求めていることを理解していない、あなたは私に詳細な情報を与えることができますか? – jrturton
私はペンでサブビューとラベルを作成したくありません。前に作成したビューとラベルを使用したい。ペン先の表示とラベルは単にプレースホルダーとして機能する必要があります。以前に作成したビューとラベルを追加してペン先からレイアウトやプロパティを継承できるようにします。私は、これはおそらく全く可能ではないと結論に達しました。私は自分でレイアウトを実装する必要があります... – cschuff