Не могу добавить изображение значка файла в просмотр изображений XIB программно - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь добавить изображение значка файла в представление изображений xib для collectionView. Я могу использовать только динамическую метку, которая изменяется в xib, но изображение не отображается вообще. Здесь мы можем видеть, как я подключил розетки - текстовое поле, представление изображения к объекту метки объекта. On the right you can see the outlets connected

Here you can see the image view.

Итак, этикетка отображается правильно, а изображение - нет. Вы можете увидеть это здесь. Image is not appearing anywhere

И, наконец, код. Все, что мне нужно, происходит в этой части кода. Вы можете видеть, как я динамически изменил метку, но почему я не могу получить значок файла по пути к файлу, я не знаю. массив filesList представляет собой список путей к файлам / папкам в некотором каталоге.

func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
  return filesList.count
}

func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {

  let cell = collectionView.makeItem(withIdentifier: "LabelCollectionViewItem",for: indexPath)

    for i in 0..<filesList.count {
      let test = filesList[i]

      let fileIcon = NSWorkspace.shared().icon(forFile: test.path)
      print(test)

      cell.textField?.stringValue = "test"

      cell.imageView?.image =  fileIcon

    }

    return cell

}

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Я нашел проблему. Проблема заключалась в том, что imageView в файле пера находилось за пределами реального видимого экрана пера, поэтому он просто не отображался при запуске приложения. Спасибо за помощь!

0 голосов
/ 25 января 2019

Установите точку останова на линии cell.imageView?.image = fileIcon и запустите ваш проект. Как только вы достигнете точки останова, изучите значения ваших объектов, чтобы увидеть, являются ли они нулевыми или имеют неправильные значения. Что может быть не так? cell.imageView - ноль, test.path - неправильный, fileIcon - ноль и т. д. Это также может быть проблема с песочницей (см. консоль для предупреждений о нарушениях).

Вы можете проверить значения переменных в «представлении переменных» или набрав что-то вроде po fileIcon в консоли XCode, будучи остановленным в точке останова.

...