1.3 KiB
1.3 KiB
layout, title, categories, tags, last_modified_at, excerpt_separator
| layout | title | categories | tags | last_modified_at | excerpt_separator | ||||
|---|---|---|---|---|---|---|---|---|---|
| post | Create a Custom CollectionView for a macOS App in Swift |
|
|
<!-- more --> |
- Register CustomCollectionViewItem in the CustomViewController
- Adopt NSCollectionViewDataSource in CustomViewController
- Override
loadView()in CustomCollectionViewItem
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() {
}
}