【问题标题】:NSCollectionViewFlowLayout collectionViewContentSize updates but the collection views frame doesn't updateNSCollectionViewFlowLayout collectionViewContentSize 更新但集合视图框架不更新
【发布时间】:2019-02-08 08:46:40
【问题描述】:

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

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

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

同样的问题可以在 Apples 2015 WWDC what's new with NSCollectionViews sample project found at https://developer.apple.com/library/prerelease/mac/samplecode/CocoaSlideCollection/CocoaSlideCollectionUsingNSCollectionViewonOSX10.11.zip中看到

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

我不确定这是否是一个错误,或者我是否在实现中遗漏了任何内容。

更新:这看起来是一个操作系统错误,暂时我们不得不解决这个问题。在此处发布,以便其他人可以看到中间解决方案,或者可能根据上述描述建议其他人。 (https://github.com/zenangst/Blueprints/pull/93)

【问题讨论】:

  • 请将解决方法作为答案或问题发布。

标签: swift cocoa nscollectionview nscollectionviewflowlayout


【解决方案1】:

更新:这看起来是一个操作系统错误,暂时我们不得不解决这个问题。在此处发布,以便其他人可以看到中间解决方案,或者可能根据上述描述建议其他人。 (https://github.com/zenangst/Blueprints/pull/93)

'这增加了一个“可怕的”技巧来更新内容大小 macOS 在布局之间转换时。它会临时调整大小 窗口以确保滚动视图的文档视图获得 新尺寸。'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 2019-07-04
    • 1970-01-01
    相关资源
    最近更新 更多