【问题标题】:How can I use SwiftUI to populate content in a UICollectionViewCell如何使用 SwiftUI 在 UICollectionViewCell 中填充内容
【发布时间】:2020-03-29 02:56:09
【问题描述】:

因为SwiftUI没有UICollectionView-like控件,所以我改用UIKit

根据interfacing-with-uikit,我知道SwiftUI如何与UIKit交互,但我想进一步使用SwiftUI封装UICollectionViewCell,并使用SwiftUI填充UICollectionViewCell的内容,我该怎么做。

据我所知SwiftUI中的List是按照UITableView封装的,我想让SwiftUIUICollectionView做同样的事情,我不想用一些三方库来做这个,我想知道秘密

【问题讨论】:

    标签: uicollectionview swiftui uicollectionviewcell


    【解决方案1】:

    假设您有 CellContentView SwiftUI 视图,您可以使用类似以下的方式将其集成到 UICollectionViewCell

    if let cellContent = UIHostingController(rootView: CellContentView()).view {
        cell.contentView.addSubview(cellContent)
    
        cellContent.leadingAnchor.constraint(equalTo: cell.leadingAnchor).isActive = true
        cellContent.trailingAnchor.constraint(equalTo: cell.trailingAnchor).isActive = true
        cellContent.topAnchor.constraint(equalTo: cell.topAnchor).isActive = true
        cellContent.bottomAnchor.constraint(equalTo: cell.bottomAnchor).isActive = true
    }
    

    【讨论】:

    • 我已经尝试过这个解决方案,它工作正常,除了我无法与 SwiftUI 视图交互。我无法在我的 SwiftUI 视图中按下按钮,所以我尝试添加一个列表,但我也无法滚动列表。也许是分层问题?
    猜你喜欢
    • 2019-10-22
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 2019-01-05
    相关资源
    最近更新 更多