无法在nstableview单元格中添加图像?

时间:2013-11-05 11:06:00

标签: objective-c macos cocoa nstableview nsimage

到目前为止,我已经尝试了这个,但是在imageview中显示了图像。

- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
    NSLog(@"Entered to create a new cell for table");
    // Get a new ViewCell
    NSTableCellView *cellView = [tableView makeViewWithIdentifier:tableColumn.identifier owner:self];
    if ([tableColumn.identifier isEqualToString:@"country"]) 
    {
         cellView.textField.stringValue = [[[AppConstants sharedInstance].CountryList objectAtIndex:row]valueForKey:@"country"];
    }
    else
    {
          NSImage* img=[[NSImage alloc]init];
          img=[NSImage imageNamed:@"usa-flag.png"];
         [[cellView imageView] setImage:img];
   }
   return cellView;
}

如何在列中添加图像。图像很小但列中只有图像。文本将在其他列中。

编辑:我是否必须对nib文件进行一些修改?我只添加了一个新的tablcecolumn。我的tableview是基于视图的。

2 个答案:

答案 0 :(得分:0)

尝试这样只需像这样更改你的其他块 下面 -

  NSImage* img=[NSImage 
  imageNamed:@"usa-flag.png"];

//now set into imageview 
 imgView=[[NSImageView       
  alloc]init];
   [imgView setImage:img];

     cellView.imageView.image=imgView.image;

答案 1 :(得分:0)

我能够做到这一点通过删除原始的cellview并添加图像和文本表格单元格视图。