Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSCollectionView网格仅显示一行_Objective C_Swift_Macos_Cocoa_Nscollectionview - Fatal编程技术网

Objective c 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

我有一个具有以下参数的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

(由于某些原因,在序列图像板上设置栅格属性时,它不起作用)

NSCollectionViewGridLayout是单节布局。根据Apple文档,这意味着布局只能容纳一个部分

在行和列网格中显示单个项目部分的布局

这就是为什么你没有得到更多的部分


将其更改为NSCollectionViewFlowLayout以获取多个节。希望这有帮助。

“如果我将numberOfItemsInSection更改为3,则显示3个项目,但水平显示。”这取决于窗口大小。@El Tomato是的,滚动显示,但如何使其垂直。它显示一个任意大小的项目。。。