Files
felixfoertsch.de/Content/Archive/220123-ff.de v10 felixfoertsch.github.io/_drafts/2019-02-25-Create-a-Custom-CollectionView-for-a-macOS-App-in-Swift.md
T

50 lines
1.3 KiB
Markdown

---
layout: post
title: "Create a Custom CollectionView for a macOS App in Swift"
categories:
- Tutorials
tags:
- swift
- coding
- macOS
last_modified_at:
excerpt_separator: <!-- more -->
---
1. Register CustomCollectionViewItem in the CustomViewController
2. Adopt NSCollectionViewDataSource in CustomViewController
3. Override `loadView()` in CustomCollectionViewItem
<!-- more -->
```swift
import Cocoa
class CustomViewController: NSViewController {
@IBOutlet weak var collectionView: NSCollectionView!
override func viewDidLoad() {
self.collectionView.register(CustomCollectionViewItem.self, forItemWithIdentifier: NSUserInterfaceItemIdentifier("CustomCollectionViewItem"))
}
}
extension CustomViewController: NSCollectionViewDataSource {
func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return dataSource.count
}
func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
let item = self.collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier("CustomCollectionViewItem"), for: indexPath)
return item
}
}
class CustomCollectionViewItem: NSCollectionViewItem {
override func loadView() {
}
}
```