【发布时间】:2017-07-20 09:40:05
【问题描述】:
我是一名初学者 iOS 开发人员,在实现 UICollectionView 时遇到了困难。这里是如何显示的:
这是我在 Storyboard 中的设计方式:
我正在尝试根据本教程实现这一点:
UICollectionView with Swift: Build Carousel Like Home Screen - iOS
这是我的 ViewController 类:
class SelectMorphologyViewController: UIViewController {
@IBOutlet weak var collectionView: UICollectionView!
var morphology = Morphology.getMorphology()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
struct Storyboard {
static let cellIdentifier = "Morphology cell"
}
}
extension SelectMorphologyViewController : UICollectionViewDataSource {
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return morphology.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: Storyboard.cellIdentifier, for: indexPath) as! MorphologyCollectionViewCell
cell.morphology = self.morphology[indexPath.item]
return cell
}
}
模型类:
class Morphology
{
var title = ""
var image : UIImage!
init(title : String , image : UIImage) {
self.title = title
self.image = image
}
static func getMorphology() -> [Morphology] {
return [Morphology(title : "Les épaules qui s’alignent avec les hanches." , image : UIImage (named: "8")!), Morphology(title : "Les épaules et des hanches dans le même alignement et une taille très peu marquée. " , image : UIImage (named: "h")!),Morphology(title : "Une petite poitrine, une taille fine et des épaules sont dans l’alignement des hanches." , image : UIImage (named: "x")!),Morphology(title : "Une carrure est plus large que les hanches." , image : UIImage (named: "v")!),Morphology(title : "Une carrure plus étroite que les hanches. " , image : UIImage (named: "a")!),Morphology(title : "La femme ronde :) " , image : UIImage (named: "o")!)]
}
}
最后是我的 CollectionViewCell 类:
class MorphologyCollectionViewCell: UICollectionViewCell {
var morphology : Morphology! {
didSet {
updateUI()
}
}
@IBOutlet weak var image: UIImageView!
@IBOutlet weak var title: UILabel!
private func updateUI() {
image?.image! = morphology.image
title?.text! = morphology.title
}
}
这是我的故事板设置的一些图像:
【问题讨论】:
-
添加一些你在做什么的代码,
-
您能否添加您的collectionView 委托和数据源代码,以及与您的collection view 布局相关的情节提要设置?
-
你是否在 CollectionView 上添加了布局约束
标签: ios swift uicollectionview uicollectionviewcell