首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSCollectionViewItem的动态大小

NSCollectionViewItem的动态大小
EN

Stack Overflow用户
提问于 2017-09-07 00:38:35
回答 2查看 649关注 0票数 2

我正在尝试给我的NSCollectionViewItem一个动态大小。我希望它们的大小由它们的内容和我定义的约束决定。

为此,我在包含NSCollectionView的视图控制器中添加了以下内容:

代码语言:javascript
复制
extension ViewController :  NSCollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize{

        let item = collectionView.item(at: indexPath)
        if let viewItem = item as NSCollectionViewItem? {
            return viewItem.view.fittingSize
        }

        return NSSize(width: 200, height: 100)

    }
}

抛出异常。

代码语言:javascript
复制
An uncaught exception was raised
*** -[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]

我不知道它是从哪里来的,我试着去捕捉它,但是xcode说item(at:)不抛出异常。

编辑:但实际上确实如此,我有一个异常断点,它在item(at:)中中断

除了向苹果发送错误报告之外,还有人有其他想法吗?因为项(at:)不会抛出错误,所以do catch块是无效的

EN

回答 2

Stack Overflow用户

发布于 2017-09-07 00:59:21

正如您所提到的,我不认为这种方法会崩溃。从文档中:

返回:指定索引路径的项,如果没有项可用,则返回nil。

你有没有尝试过add an exception breakpoint?你应该看看它在哪里崩溃。

票数 0
EN

Stack Overflow用户

发布于 2018-08-09 05:06:56

在创建UICollectionViewItem之前调用sizeForItemAtIndexPath,所以不可能这样做。

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

https://stackoverflow.com/questions/46080381

复制
相关文章

相似问题

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