iCarousel(カバーフロースクロールスタイルを提供するライブラリ)を使用したいXIBでビューを作成しました。そのビューにはUIImageViewがあり、すべてのIBが設定されたそのビューのコントローラーがあります(FileOwnerの「ビュー」が私のビューに設定されており、UIImageviewのアウトレットがあります)
プログラムでコントローラーを作成します
SBTViewController* iv1 = [[SBTViewController alloc] initWithNibName:@"SBTViewController_iPhone" bundle:nil];
SBTViewController* iv2 = [[SBTViewController alloc] initWithNibName:@"SBTViewController_iPhone" bundle:nil];
その後
UIImage* im1 = [UIImage imageNamed:@"1.png"];
iv1.imView.image = im1;
UIImage* im2 = [UIImage imageNamed:@"2.png"];
iv2.imView.image = im2;
現在、iv1コントローラーのビューを追加して表示したり、階層の一部にしたりしていないことに注意してください。代わりに、ポインタを保存し、しばらくしてから(カルーセルが移動したとき)、iv1.viewをカルーセルに渡して表示します。
ビューは表示されますが、画像は表示されません...
検索した後、スタックオーバーフローに関する質問を見つけました。ビュー階層に追加される前に画像をimageviewに設定することは実際には機能しない、つまり、ViewDidLoadの後にプログラムでのみ画像を設定できるということです。しかし、私の場合、各インスタンスを異なる値で初期化したいので、ViewDidLoadにコードを追加することは十分に堅牢ではありません...
編集:私はちょうどこのようにコントローラーのビューパラメーターにアクセスすることを知りました
iv1.view.tag
ビューが読み込まれます
だから私はそれをどのようにすべきですか?他の人の下に隠しますか?ぶさいくな
ありがとう