2008-10-16 46 views
4

我的問題是,我似乎無法從我的包中獲取圖像以正確顯示。此方法位於控制tableview的視圖控制器中。 headerView在.nib文件中加載tableview,幷包含一些加載得很好的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

完美!謝謝Ben。 – kubi 2008-10-16 23:14:19

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

0

添加子視圖編程工作,但它沒有正確鏈接到在Interface Builder中的UIImageView。我創建的視圖(我認爲)正確鏈接到我的UITableViewController UIView出口,但是當我啓動我的imageView時,它會創建一個新視圖,而不是將圖像放入已創建的視圖中。

感謝您的回答。