我有一个带有以下参数的 NSCollectionView:
并且有一个自定义的 NSCollectionViewItem
和 WebView
来显示 html 页面
extension ViewController : NSCollectionViewDataSource {
func numberOfSections(in collectionView: NSCollectionView) -> Int {
return 5
}
func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
func collectionView(_ itemForRepresentedObjectAtcollectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
let item = htmlNotificationsCollectionView.makeItem(withIdentifier: "htmlNotificationCollectionViewItem", for: indexPath)
return item
}
}
我的代码可以正常工作,但它只显示一项!并忽略 numberOfSections
以垂直显示
如果我将 numberOfItemsInSection
更改为 3,它会显示 3 个项目,但水平显示。
我需要这样的布局:
最佳答案
您应该以编程方式设置 maximumNumberOfColumns:
let layout = NSCollectionViewGridLayout()
layout.maximumNumberOfColumns = 1
collectionView.collectionViewLayout = layout
(由于某些原因,当您在 Storyboard 上设置 Grid 属性时它不起作用)
关于objective-c - NSCollectionView 网格只显示一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45001196/