4

我的问题是我似乎无法从我的包中获取图像以正确显示。此方法位于控制 tableview 的视图控制器中。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

首先,您需要确定您的图像是否正确加载。获取图像最快的方法是使用 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 回答
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];

于 2008-10-16T13:29:37.487 回答
0

以编程方式添加子视图,但它没有正确链接到 Interface Builder 中的UIImageView。我创建的视图(我认为)正确链接到我的UITableViewController中的 UIView 插座,但是当我初始化我的 imageView 时,它会创建一个新视图,而不是将图像放在我已经创建的视图中。

感谢您的回答。

于 2008-10-16T11:41:14.400 回答
0

请参阅http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html 它将在部分标题上显示 UIImageview。

于 2011-05-03T05:48:20.637 回答