2012-01-17 9 views
2

オーナー(再利用性のため)がUIViewControllerである汎用nibファイル "MyGenericView.xib"を作成しました。私が正常に表示Nibファイルの汎用ビューでオブジェクトを使用

[[NSBundle mainBundle] loadNibNamed:@"MyGenericView" owner:self options:nil]; 

を読み込むことができます私のクラスで

はしかし、私は同じ汎用ビューにサブオブジェクトとしてラベルを定義しています。 これにアクセスして(たとえば)label.textをオーバーロードするにはどうすればよいですか?

普通の状況では、私のNibの所有者を特定のコントローラに設定し、IBOutletをファイル所有者に接続します。 ファイルの所有者(私の一般的な場合)はUIViewControllerですので、これは不可能です。

インターフェイスビルダーで事前

答えて

0

のおかげでは、にラベルのタグを設定し、のは言わせ、1.あなたは、属性インスペクタに表示部分をタグフィールドを見つけることができます。そして、viewWithTagを使用します。方法:あなたが今まで表のセルと同様の問題を持って起こる場合

// given that the label we seek is in the self.view hierarchy 
//if not, change accordingly 
UILabel* myLabel = (UILabel*)[self.view viewWithTag:1]; 

はまた、私はUINib classを使用することをお勧めします。このクラスは、ファイル所有者にアクションを委任する必要がない場合には、オブジェクトをインスタンス化することができます。

+0

ありがとうございました。それは魅力のように働いた。 –

関連する問題