Frage

Mein Problem ist, dass ich nicht das Bild von meinem Bündel scheinen, um korrekt angezeigt werden. Dieses Verfahren ist im View-Controller, der die tableview steuert. headerView wird mit dem Tableview in der .nib-Datei geladen und enthält ein paar UILabels (nicht dargestellt), die Last nur in Ordnung. Irgendwelche Ideen?

- (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];
}
War es hilfreich?

Lösung

Wenn Sie bereits einen Auslass erstellt und verbinden ihn mit einem Blick in Interface Builder, sollten Sie diese Ansicht verwenden, anstatt eine UIImageView on the fly zu erstellen.


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

Andere Tipps

Als erstes müssen Sie herausfinden, ob Ihr Bild richtig geladen ist. Der schnellste Weg, um ein Bild zu erhalten, ist die UIImage bequeme Methode verwenden + [UIImage imagenamed: rawImageName].

Auch dies ist ein UITableViewController? (Es ist unklar, aber stillschweigend).

Wo ist Imageview verwendet? Sie legen es nahe dem Boden, aber offenbar nicht mit ihm nichts zu tun. Sie wollen wahrscheinlich die Bildansicht, weisen Sie ein Bild erzeugen, und fügen Sie es dann als Subview der 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];

Das Hinzufügen der subview programmatisch gearbeitet, aber es ist nicht richtig an den verknüpft ist UIImageView in Interface Builder. Die Ansicht, die ich erstellt ist (glaube ich) richtig an den Ausgang UIView verknüpfen in meinem UITableViewController , aber wenn ich meinen Imageview init erstellt es eine neue Ansicht statt das Bild in der Ansicht setzt bereits erstellt ich.

Vielen Dank für Ihre Antwort.

Siehe http://developer.apple.com/ Bibliothek / ios / # Sample / TableViewUpdates / Einführung / intro.html Es wird UIImageView auf Abschnitt Header angezeigt werden soll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top