Objective c NSCollectionView网格仅显示一行
我有一个具有以下参数的NSCollectionView: 并使用自定义的Objective c NSCollectionView网格仅显示一行,objective-c,swift,macos,cocoa,nscollectionview,Objective C,Swift,Macos,Cocoa,Nscollectionview,我有一个具有以下参数的NSCollectionView: 并使用自定义的NSCollectionViewItem和WebView来显示html页面 extension ViewController : NSCollectionViewDataSource { func numberOfSections(in collectionView: NSCollectionView) -> Int { return 5 } func collection
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
(由于某些原因,在序列图像板上设置栅格属性时,它不起作用)NSCollectionViewGridLayout是单节布局。根据Apple文档,这意味着布局只能容纳一个部分 在行和列网格中显示单个项目部分的布局 这就是为什么你没有得到更多的部分
将其更改为NSCollectionViewFlowLayout以获取多个节。希望这有帮助。“如果我将numberOfItemsInSection更改为3,则显示3个项目,但水平显示。”这取决于窗口大小。@El Tomato是的,滚动显示,但如何使其垂直。它显示一个任意大小的项目。。。