4

私の問題は、バンドルから画像を正しく表示できないように見えることです。このメソッドは、テーブルビューを制御するビュー コントローラーにあります。headerViewは .nib ファイルの tableview と共にロードされ、正常にロードされるいくつかの UILabel (表示されていません) が含まれています。何か案は?

- (void)viewDidLoad {
    [super viewDidLoad];

    [[self view] setTableHeaderView:headerView];
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *imagePath = [bundle pathForResource:@"awesome_lolcat" ofType:@"jpeg"];
    UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
    imageView = [[UIImageView alloc] initWithImage:image];
}
4

4 に答える 4

4

アウトレットを作成してInterfaceBuilderのビューに接続している場合は、UIImageViewをその場で作成するのではなく、そのビューを使用する必要があります。


   //this assumes that headerView is an already created UIView, perhaps an IBOutlet
   //also, imageViewOutlet is an IB outlet hooked up to a UIImageView, and added as
   //a subview of headerView.

   //you can also set the image directly from within IB
   imageViewOutlet.image = [UIImage imageNamed: @"awesome_lolcat.jpeg"];
   [[self view] setTableHeaderView: headerView];

于 2008-10-16T13:29:37.487 に答える
4

まず、画像が適切にロードされているかどうかを確認する必要があります。画像を取得する最も簡単な方法は、UIImage 簡易メソッド +[UIImage imageNamed: rawImageName] を使用することです。

また、これはUITableViewControllerですか?(不明確ですが、暗示されています)。

imageView はどこで使用されていますか? 一番下に作成しますが、何もしていないようです。画像ビューを作成し、それに画像を割り当ててから、それをサブビューとして headerView に追加することをお勧めします。


   //this assumes that headerView is an already created UIView, perhaps an IBOutlet

   UIImage     *image = [UIImage imageNamed: @"awesome_lolcat.jpeg"];
   UIImageView *imageView = [[UIImageView alloc] initWithImage: image];
   [headerView addSubview: [imageView autorelease]];
   [[self view] setTableHeaderView: headerView];

于 2008-10-16T02:27:25.657 に答える
0

http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.htmlを参照してください 。セクションヘッダーにUIImageviewが表示されます。

于 2011-05-03T05:48:20.637 に答える
0

サブビューの追加はプログラムで機能しましたが、Interface BuilderのUIImageViewに正しくリンクされていません。私が作成したビューは、 UITableViewControllerの UIView アウトレットに正しくリンクされていると思いますが、imageView を初期化すると、既に作成したビューに画像を配置する代わりに、新しいビューが作成されます。

ご回答有難うございます。

于 2008-10-16T11:41:14.400 に答える