2014-11-02 88 views
0

下午好,在我的原型單元格中顯示圖像xcode

我在顯示原型單元格中的圖像時出現問題。目前我只能顯示標籤文字,我想知道我必須做些什麼才能顯示圖像。

這是當前進程的截圖:

我有圖像的URL,但目前只展示它作爲一個標籤:

http://i.stack.imgur.com/P8l5t.png

我想顯示作爲一個圖像。我必須做些什麼才能做到這一點?

ViewController.m提前

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // Retrieve cell 
    NSString *cellIdentifier = @"BasicCell"; 
    UITableViewCell *myCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    // Get the location to be shown 
    Location *item = _feedItems[indexPath.row]; 

    // Get references to labels of cell 
    myCell.textLabel.text = item.address; 

    return myCell; 
} 

感謝。

+0

但是,您甚至沒有*嘗試*在此處添加圖像...您可以添加圖像作爲子視圖或使用單元格的圖像屬性。 – 2014-11-02 19:57:17

+0

我在我的MainStoryBoard中添加了一個imageView。 – JulienKP 2014-11-02 19:58:22

+0

但是在你的cellForRowAtIndexPath中,你只能設置你的單元格的文本標籤屬性...是否item.address是圖片的網址? – 2014-11-02 19:59:35

回答

0

可以使用UITableViewimageView對象,而不是到UITableViewUILabel對象。例如,替代:

myCell.textLabel.text = item.address; 

有:

myCell.imageView.image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:item.address]]]; 

或者你也可以通過添加UIImageView作爲一個子視圖,而不是自定義圖像視圖。

+0

我收到以下錯誤:/ Users/Downloads/DatabaseTableViewApp 3/DatabaseTableViewApp/ViewController.m:92:83:發送'NSString *'到類型爲'NSURL *'的參數的不兼容指針類型 謝謝。 – JulienKP 2014-11-02 20:16:15

+0

@JulienKP呵呵,那麼如果你的地址被格式化爲NSString,那麼你必須將它改爲NSUrl。我已經更新了我的答案。 – 2014-11-02 20:16:56

+0

它的工作,謝謝:) – JulienKP 2014-11-02 20:20:13

0

之前return myCell設置單元格的圖像屬性。舉例來說,如果你有像陣列稱爲「圖像」對應於你的細胞,你可以做這樣的事情:

myCell.imageView.image = images[indexPath.row] 

你也可以通過繼承UITableViewCell,並設置類原型的創建自己的原型細胞在tableview中的單元格是你自己的子類。然後,您可以在原型單元格中隨時添加自己的UIImageView,並創建鏈接到您的自定義單元類的IBOutlet。然後,您的方法能夠是這個樣子:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // Retrieve cell 
    NSString *cellIdentifier = @"BasicCell"; 
    MyCustomCell *customCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 

    // Get the location to be shown 
    Location *item = _feedItems[indexPath.row]; 

    // Get references to labels of cell 
    customCell.customLabel.text = item.address; 

    customCell.customImageView.image = arrayOfImages[indexPath.row] 

    return customCell; 
} 
相關問題