【问题标题】:How to give Space between rows and columns of NSCollectionView?如何在 NSCollectionView 的行和列之间留出空间?
【发布时间】:2014-11-18 12:59:02
【问题描述】:

我已创建集合视图,但无法在集合视图项之间留出空间。所以请帮忙....提前谢谢...

我已使用此链接创建集合视图https://andrehoffmann.wordpress.com/2009/08/29/nscollectionview-tutorial-for-dummies-xcode-3-1-3/

【问题讨论】:

  • 不,我使用的是 Xcode 6.1
  • 已经两年了,我不确定这是否会有所帮助,但我在 OS X 中最接近的实现方式是在 NSCollectionViewItem 视图中添加空间。当然这不是最好的方法,但是如果您需要与 10.0 或更低版本兼容,我认为这是唯一的方法(他们在 10.11 上添加了一种方法:raywenderlich.com/120494/collection-views-os-x-tutorial)。

标签: objective-c macos cocoa nscollectionview


【解决方案1】:

如果您使用故事板创建集合视图,请更新 Min SpacingSection Inset 之类的

【讨论】:

  • Alex 感谢您的回答,但我正在可可应用程序(Mac 应用程序)中创建集合视图,这些选项在那里不可用。
【解决方案2】:

您需要修改 CollectionView 的布局。可能最简单的做法是给它一个 Flow 布局,并在那里分配你的属性。这是一个例子:

let layout = UICollectionViewFlowLayout()
layout.minimumInteritemSpacing = 5
layout.sectionInset = EdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
layout.minimumLineSpacing = 8
self.collectionView.collectionViewLayout = layout

如果你想在项目布局方面做更多的事情,你需要继承 UICollectionViewLayout 并覆盖各种布局方法。

【讨论】:

  • 尽管这个答案使用了 iOS 等效的 NSCollectionView,但它也完全适用于 Cocoa,只需将 UI 与 NS 交换即可。