无法在UITableView中加载图像

时间:2015-11-15 23:19:03

标签: ios swift uitableview cocoa-touch swift2

我正在尝试将图片放入UITableView。使用自定义子类单元格设置表。在Subclass中我有出口:

@IBOutlet var titleLabel: UILabel!

`@IBOutlet var pillarIcon: UIImageView!`

在超类中我为两者创建了NSMutableArray

var objects: NSMutableArray! = NSMutableArray()

var imageObjects: NSMutableArray! = NSMutableArray()

我将事物放入viewDidLoad方法中的数组中每个数组都有4个项目。

所以当我打电话给项目时:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return self.objects.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! TableViewCell

    cell.titleLabel.text = self.objects.objectAtIndex(indexPath.row) as? String

    cell.pillarIcon.image = self.imageObjects.objectAtIndex(indexPath.row) as? UIImage


    return cell


}

cell.titleLabel.text项目出现但cell.pillarIcon.image中的图片未显示在表格中。

我现在已经在这个工作了几个小时了,感觉就像是在圈子里。此外,图像文件已加载到主文件中,因此不是问题。

提前致谢。

2 个答案:

答案 0 :(得分:1)

确保将图片加载到Images.xcassets,然后使用UIImage(name:)方法加载图片。

目前,您正在将图片加载到imageObjects数组中,如下所示:

self.imageObjects.addObject("book.jpg")

您没有使用UIImage加载图片。

一旦您的图片成为项目图片资源(Images.xcassets)的一部分,请按以下方式加载图片:

self.imageObjects.addObject(UIImage(named: "book"))

(上面的示例假定book是图像资产组的名称。)

请注意,此Adding Image Assets网页包含有关如何设置图片资产组的说明。

答案 1 :(得分:1)

好像你正在加载错误的图像,就像@whyceewhite在他的回答中所说的那样。

我会尽力向你说清楚:

  1. 打开Assets.xcassets
  2. xcassets

    1. AppIcon下删除您要使用的所有图片 xcassets2

    2. 以这种方式将图像添加到您的阵列:

    3. imageObjects.addObject(UIImage(named: "whiteboardapp")!)

      使用Assets.xcassets文件夹

      上显示的相同名称