#swift #macos #swift3 #nscollectionview #nscollectionviewitem
#swift #macos #swift3 #nscollectionview #nscollectionviewitem nscollectionview элемент #nscollectionviewitem
Вопрос:
Я просмотрел API NSCollectionView и не нашел ничего, что соответствовало бы определенным учебным пособиям, которые я видел. Xcode заставляет меня писать мой метод таким образом, чтобы не было ошибок:
@objc(collectionView:didSelectItemsAtIndexPaths:) func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
print("Selected")
}
Всякий раз, когда я нажимаю на элемент в моем NSCollectionView, ничего не происходит, и мой оператор печати никогда не отображается в консоли. Как правильно выбрать элемент из NSCollectionView?
Комментарии:
1. Вы установили делегат CollectionView?
2. Да, я установил его в расширении ViewController: NSCollectionViewDelegate, и он по-прежнему ничего не выводит на консоль.
3. Я был бы склонен поместить a
@objc
часть в любой — какую ошибку вы получаете без нее? Может быть полезно включить все соответствующие части вашего кода.4. Я заставил его работать без части @obj перед ним, но он по-прежнему не выводит «Выбранный» в консоли всякий раз, когда я нажимаю на элемент. Что может быть причиной этого. Это действительно удерживает меня от чего-то, что казалось бы таким простым.
5. Я тупой … я не перетаскивал свой collectionViewDelegate для подключения к моему ViewController. Я новичок в xCode, и необходимость выполнять все это перетаскивание для настройки меня иногда сбивает с толку.
Ответ №1:
Вы должны установить свойство isSelectAble = true, например:
self.collectionView. isSelectAble = true