我正在嘗試在 UITableViewCell 中實作 UIcollectionView。我已經嘗試了幾種方法,但它們都不適合我。看起來 tableView 只是不知道應該是哪個大小的單元格。
import UIKit
class MovieVideosTableViewCell: UITableViewCell {
static let identifier = "MovieVideosTableViewCell"
private var collectionView: UICollectionView! = nil
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
print("Inited \(type(of: self))")
setupCollectionView()
addSubview(collectionView)
setupConstraints()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
private extension MovieVideosTableViewCell {
func setupCollectionView() {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.itemSize = CGSize(width: contentView.bounds.width/2, height: contentView.bounds.height)
collectionView = UICollectionView(frame: contentView.bounds, collectionViewLayout: layout)
collectionView.translatesAutoresizingMaskIntoConstraints = false
collectionView.register(MovieDetailsCollectionViewCell.self, forCellWithReuseIdentifier: MovieDetailsCollectionViewCell.identifier)
collectionView.delegate = self
collectionView.dataSource = self
}
func setupConstraints() {
NSLayoutConstraint.activate([
collectionView.topAnchor.constraint(equalTo: contentView.topAnchor),
collectionView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor),
collectionView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor),
collectionView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor)
])
}
}
uj5u.com熱心網友回復:
所以,實際的問題在于約束。我用collectionView.leadingAnchor.constraint了兩次,而不是collectionView.trailingAnchor.constraint
uj5u.com熱心網友回復:
我不知道您要做什么,但是collectionView 的新組合布局可能對您有用。您可以為每個單元創建具有不同配置的多個部分。
你可以在這里查看-> https://developer.apple.com/documentation/uikit/uicollectionviewcompositionallayout
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/525299.html
