NSCollectionViewFlowLayout collectionViewContentSize更新,但集合视图框架未更新

时间:2019-02-08 08:46:40

标签: swift cocoa nscollectionview nscollectionviewflowlayout

我有多个自定义NSCollectionViewFlowLayouts,其中一些具有垂直方向,而另一些具有水平方向。

设置水平布局时,收集视图框架会根据内容正确设置高度和宽度,但是当我随后将布局更新为垂直布局时,框架将保持以前的布局内容大小。

使用鼠标手动调整窗口大小会导致布局正确显示,但是我不确定为什么不能以编程方式正确更新。从布局内容大小中调用了正确的大小,在WWDC的“ NSCollectionViews的新功能”演示中,您可以看到这不是问题。

在Apples 2015 WWDC中可以看到相同的问题,https://developer.apple.com/library/prerelease/mac/samplecode/CocoaSlideCollection/CocoaSlideCollectionUsingNSCollectionViewonOSX10.11.zip上的NSCollectionViews示例项目有什么新功能

在包裹式布局和圆形布局之间切换时,最初会看到高度不正确,反之亦然。

我不确定这是一个错误还是在实现中缺少任何内容。

更新:这似乎是一个操作系统错误,因为我们不得不及时解决。张贴在这里,以便其他人可以看到中间的解决方案,或者根据上述说明可能建议其他人。 (https://github.com/zenangst/Blueprints/pull/93

1 个答案:

答案 0 :(得分:0)

更新:看来这是一个操作系统错误,因为我们不得不及时解决。张贴在这里,以便其他人可以看到中间的解决方案,或者根据上述说明可能建议其他人。 (https://github.com/zenangst/Blueprints/pull/93

  

'这会添加一个“可怕的”骇客,以使内容大小得以更新   在布局之间转换时使用macOS。它将临时调整大小   确保滚动视图的文档视图获得一个窗口   新尺寸。