如何通过被动(RxSwift)调用替换UICollectionViewDelegateFlowLayout?

问题描述 投票:7回答:1

有没有办法替换方法

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize

UICollectionViewDelegateFlowLayout协议中使用RxSwift反应的东西?

swift rx-swift rx-cocoa
1个回答
3
投票

返回值的协议方法是基于拉取的,因此与Rx的基于推送的哲学不兼容。目前不仅无法用Observable替换该特定方法,它永远不可能实现。

您可以做的最好的方法是通过返回Variable中的值并使用Rx将数据推送到Variable来实现该方法。当集合视图需要相关项目的大小时,它将通过调用此方法来请求它。

© www.soinside.com 2019 - 2024. All rights reserved.