UIImageView не отображается в заголовке UITableView - PullRequest
4 голосов
/ 16 октября 2008

Моя проблема в том, что я не могу получить изображение из своего пакета для правильного отображения. Этот метод находится в контроллере представления, который управляет представлением таблицы. headerView загружается с таблицей в файле .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];
}

Ответы [ 4 ]

4 голосов
/ 16 октября 2008

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

4 голосов
/ 16 октября 2008

Прежде всего вам необходимо выяснить, правильно ли загружается ваше изображение. Самый быстрый способ получить изображение - использовать удобный метод 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];

0 голосов
/ 03 мая 2011

См. http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html Он отобразит UIImageview в заголовке раздела.

0 голосов
/ 16 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...