使用带有集合节点的组合布局时如何使单元节点调整自身大小

问题描述

我正在尝试将 UICollectionViewCompositionalLayoutAScollectionNode 一起使用。然而 layoutSpecThatFits 的受限大小最终是:

ASSizeRange(394.0,300.0),max: (394.0,300.0)

而且我的布局不能缩小。

我的单元节点布局:

    let stack = ASStackLayoutSpec.vertical()
    stack.style.flexShrink = 1.0
    stack.style.flexGrow = 1.0
    stack.spacing = .fp_grid(2)
    
    if let imageSpec = imageLayout(constrainedSize) {
      stack.children?.append(imageSpec)
    }
    
    let titlenodes = [titleNode,subtitleNode].compactMap { $0 }
    
    if !titlenodes.isEmpty {
      let titleStack = ASStackLayoutSpec.vertical()
      titleStack.spacing = .fp_grid(0.1)
      titleStack.children = titlenodes
      stack.children?.append(titleStack)
    }
    
    if let summaryNode = summaryNode {
      stack.children?.append(summaryNode)
    }
    return stack

这是我的 UICollectionViewCompositionalLayout:

  public static func createDetailedLayout() -> UICollectionViewCompositionalLayout {
    let estimatedHeight = CGFloat(300)
    
    let layoutSize = NSCollectionLayoutSize(
      widthDimension: .fractionalWidth(1.0),heightDimension: .estimated(estimatedHeight))
    
    let item = NSCollectionLayoutItem(layoutSize: layoutSize)
    
    let group = NSCollectionLayoutGroup.horizontal(
      layoutSize: layoutSize,subitem: item,count: 1
    )
    
    let section = NSCollectionLayoutSection(group: group)
    section.contentInsets = NSDirectionalEdgeInsets(top: 10,leading: 10,bottom: 10,trailing: 10)
    section.interGroupSpacing = 10
    
    let layout = UICollectionViewCompositionalLayout(section: section)
    return layout
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...