UIView
私のiOSアプリにはルートビューコントローラーがあり、実行時にいくつかのカスタムを追加したいと思います。これらのカスタムビューウィジェットは小さく、サイズやラベルテキストなどを除いて基本的にほとんど同じであるため、私はこれらのカスタムビューウィジェットと呼んでいます。
ウィジェット用に.hと.m、および.xibファイルを作成しました。私のルートビューコントローラviewDidLoad
では、これを行います:
TestMyView *cell = [[[NSBundle mainBundle] loadNibNamed:@"TestMyView" owner:self options:nil] objectAtIndex:0];
[self.view addSubview: cell];
正常に動作します。しかし、私はまだ理解できません:
- mylabelをIBOutletとしてカスタムUIViewクラス.hファイル
"[<TestViewController 0x7517210> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key mylabel"
に追加すると例外が発生するのはなぜですか。UILabel
(UILabelをIBにドラッグしてから、controlキーを押しながら.hにドラッグします)ビューの作成時にラベルテキストを変更する必要があります。また、IBOutletを追加しなかったのに、なぜTestViewControllerに文句を言うのかよくわかりませんが、カスタムビューの.hクラスですか? - 次に、ラベルテキストを正しい方法で変更するにはどうすればよいですか。ウィジェット用のViewControllerは必要ないと思うので、作成したくありません。5〜6個のウィジェットを作成する必要があるので、5〜6個のビューコントローラーを作成する必要がありますか?
- ウィジェットを作成するときにinitWithCoderが呼び出されないようです。私はアップルのドキュメントライブラリがnibファイルからビューをロードするとこのメソッドが呼び出されると言っているのを見ました。
私がこれを説明するのが苦手だと思うなら、ここに私のプロジェクトコードがあります: https ://dl.dropbox.com/u/43017476/custom.tar.gz