首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSCollectionView indexPathForItem(at: point)返回第一项的零

NSCollectionView indexPathForItem(at: point)返回第一项的零
EN

Stack Overflow用户
提问于 2017-10-25 09:09:53
回答 1查看 611关注 0票数 0

我在NSCollectionView应用程序(SDK10.13)中使用带有标准NSCollectionViewFlowLayout的MacOS。

无论出于什么原因,IndexPath(item: 0, section: 0)的项目都没有得到正确的“认可”。

例如,查询indexPathForItem(at: point)对此项的返回值为零。此外,此特定项不需要委托方法(如collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) )。

collectionView中所有其他项的行为都是正确的。

当显式触发collectionView.layout()时(例如在rightMouseDown(_:)中),一切正常工作,项目响应委托方法。

我试图在collectionView.layout()中触发viewDidLoad(),但没有成功。在随后的布局事件(例如滚动视图)发生之前,项目是不可选择的。

你知道为什么最初的布局会导致这样的行为吗?

更新:

我刚刚发现注释掉了节标题大小的委托方法

代码语言:javascript
复制
func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> NSSize {
    return NSSize(width: 1000, height: 50)
}

解决问题,第一项行为正确。

我当然想要个头像。对于我需要知道的节头大小是否有任何限制?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-25 09:50:20

好吧,算了。原来是我的错。

对于问题发生的场景,我想要取消标题。

虽然我很懒,但我只是返回了一个普通的NSView()作为标题视图

代码语言:javascript
复制
func collectionView(_ collectionView: NSCollectionView, viewForSupplementaryElementOfKind kind: NSCollectionView.SupplementaryElementKind, at indexPath: IndexPath) -> NSView

我想,不返回一个适当的布局约束视图会使collectionView布局变得混乱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46928350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档