2008-10-16 4 views
4

Моя проблема заключается в том, что я не могу получить изображение из моего пакета для правильного отображения. Этот метод находится в контроллере представления, который управляет табличным представлением. headerView загружен табличным представлением в .nib-файле и содержит несколько UILabels (не показаны), которые загружаются просто отлично. Есть идеи?UIImageView не отображается в заголовке UITableView

- (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

Если вы уже создали розетку и подключили ее к виду в Interface Builder, вы должны использовать этот вид, а не создавать 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]; 

+0

Отлично! Спасибо, Бен. – kubi 2008-10-16 23:14:19

4

FIrst необходимо выяснить, правильно ли загружается изображение. Самый быстрый способ получить изображение - использовать метод удобства UIImage + [UIImage imageNamed: rawImageName].

Кроме того, это UITableViewController? (это неясно, но подразумевается).

Где используется изображениеView? Вы создаете его у основания, но, похоже, ничего не делаете с ним. Вероятно, вы хотите создать представление изображения, присвоить ему образ и затем добавить его в качестве подзаголовка в 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]; 

0

Добавление подвид работала программно, но это не правильно связан с UIImageView в Interface Builder. Представление, которое я создал, правильно (я думаю) правильно связано с выходом UIView в моем UITableViewController, но когда я инициализирую свой ImageView, он создает новое представление вместо того, чтобы помещать изображение в представление, которое я уже создал.

Спасибо за ваш ответ.

Смежные вопросы