Вопрос

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

- (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];
}
Это было полезно?

Решение

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

Другие советы

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

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

Где используется ImageView?Вы создаете его в самом низу, но, похоже, ничего с ним не делаете.Вероятно, вы захотите создать представление изображения, присвоить ему изображение, а затем добавить его в качестве подвида к заголовку.


   //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];

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

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

Видишь http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html Он будет отображать UIImageView в заголовке раздела.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top