【发布时间】:2021-02-02 06:16:37
【问题描述】:
我正在尝试根据方向以编程方式动态更改集合单元格的大小。我曾经使用sizeForItemAt 函数来执行此操作,但我发现它仅在设备方向进入横向模式时才被调用。我应该使用这种方法还是可以使用不同的方法来实现?
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let sectionAttributes = SectionAttributesFactory.createSectionAttributes(for: indexPath.section)
if UIDevice.current.orientation.isLandscape {
print("Section: \(sectionAttributes.type) | lanscape: \(sectionAttributes.cellLayout.landscapeSize.width)")
} else {
print("Section: \(sectionAttributes.type) | portrait: \(sectionAttributes.cellLayout.portraitSize.width)")
}
}
【问题讨论】: