UICollectionViewCell中的SwiftUI视图



我有一个UICollectionView,我正在尝试使用SwiftUI设计我的UICollectionViewCell。我看到了两个例子,一个和两个在他们的UICollectionViewCell:中以以下方式做到了这一点

let controller = UIHostingController(rootView: SomeSwiftUIView)
let view = controller.view!
view.translatesAutoresizingMaskIntoConstraints = false
addSubview(view)
NSLayoutConstraint.activate([
view.leadingAnchor.constraint(equalTo: contentView.leadingAnchor),
view.topAnchor.constraint(equalTo: contentView.topAnchor),
view.trailingAnchor.constraint(equalTo: contentView.trailingAnchor),
view.bottomAnchor.constraint(equalTo: contentView.bottomAnchor)
])

这在视觉上很好,但我遇到的一个问题是,我没有与SwiftUI视图进行用户交互。例如,如果我在SwiftUI视图中有一个按钮,则在您点击该按钮时不会执行该操作。如果列表在SwiftUI视图中,则无法滚动此视图。(我不想在里面放一个列表,这只是一个例子(

有什么建议吗?谢谢

我通过将视图约束到单元格而不是contentView来解决这个问题,现在它工作得很好。

NSLayoutConstraint.activate([
view.leadingAnchor.constraint(equalTo: leadingAnchor),
view.topAnchor.constraint(equalTo: topAnchor),
view.trailingAnchor.constraint(equalTo: trailingAnchor),
view.bottomAnchor.constraint(equalTo: bottomAnchor)
])

正如我所怀疑的,这是一个分层问题。

最新更新