Ios 滚动的水平列表
我正在尝试创建以下附加视图。请注意,这里有一个类别列表,其中每行有5个类别,整个内容水平滚动。下面是我将如何做的 创建集合Ios 滚动的水平列表,ios,swift,Ios,Swift,我正在尝试创建以下附加视图。请注意,这里有一个类别列表,其中每行有5个类别,整个内容水平滚动。下面是我将如何做的 创建集合 private let collectionView: UICollectionView = { let viewLayout = UICollectionViewFlowLayout() let collectionView = UICollectionView(frame: .zero, collectionViewLayout: v
private let collectionView: UICollectionView = {
let viewLayout = UICollectionViewFlowLayout()
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: viewLayout)
collectionView.backgroundColor = .white
return collectionView
}()
collectionView.allowsMultipleSelection = true
collectionView.allowsSelection = true
collectionView.dataSource = self
collectionView.delegate = self
collectionView.register(CategoryMiniCell.self, forCellWithReuseIdentifier: CategoryMiniCell.identifier)
extension ExploreViewController: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let width = itemWidth(for: view.frame.width, spacing: LayoutConstant.spacing)
return CGSize(width: width, height: 44)
}
func itemWidth(for width: CGFloat, spacing: CGFloat) -> CGFloat {
let itemsInRow: CGFloat = 5
let totalSpacing: CGFloat = 2 * spacing + (itemsInRow - 1) * spacing
let finalWidth = (width - totalSpacing) / itemsInRow
return floor(finalWidth)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: LayoutConstant.spacing, left: LayoutConstant.spacing, bottom: LayoutConstant.spacing, right: LayoutConstant.spacing)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return LayoutConstant.spacing
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return LayoutConstant.spacing
}
}
非常感谢您的帮助。这是否回答了您的问题?