UIcollectionView 快速入门
本篇教程将引导您快速了解并开始使用 UIcollectionView,这是一个用于展示集合数据的视图控件。
首先,我们需要创建一个新的项目或打开一个现有的项目,并在其中添加 UIcollectionView。在 Xcode 中,可以通过选择 File > New > Project 来创建新项目。
一旦创建了项目或者打开了现有项目,接下来的步骤将会更加简单明了。
1. 在 Storyboard 中选择一个 UIViewController,并将其命名为 "CollectionViewVC"。
2. 在 ViewController.m 文件中添加以下代码:
```swift
import UIKit
class CollectionViewVC: UIViewController {
@IBOutlet weak var collectionView: UICollectionView!
var collectionViewDataSource: UICollectionViewDataSource? = nil
var collectionViewDelegate: UICollectionViewDelegate? = nil
override func viewDidLoad() {
super.viewDidLoad()
// 设置集合视图的代理和数据源。
collectionViewDataSource = self
collectionViewDelegate = self
// 设置集合视图的数据源。
let collectionViewItems = ["Item 1", "Item 2", "Item 3"]
collectionViewDataSource = UICollectionViewDataSource(cvItems: collectionViewItems) { (collectionView, indexPath, item) in
return UICollectionViewCellStyleSubtitle
}
}
}
class UICollectionViewDataSource: NSObject, UICollectionViewDataSource {
var cvItems: [String]!
init(cvItems: [String]) {
self.cvItems = cvItems
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return cvItems.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionViewCell", for: indexPath) as! UICollectionViewCell
cell.textLabel?.text = cvItems[indexPath.item]
return cell
}
}
class UICollectionViewDelegate: NSObject, UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: 100, height: 50)
}
}
首先,我们需要创建一个新的项目或打开一个现有的项目,并在其中添加 UIcollectionView。在 Xcode 中,可以通过选择 File > New > Project 来创建新项目。
一旦创建了项目或者打开了现有项目,接下来的步骤将会更加简单明了。
1. 在 Storyboard 中选择一个 UIViewController,并将其命名为 "CollectionViewVC"。
2. 在 ViewController.m 文件中添加以下代码:
```swift
import UIKit
class CollectionViewVC: UIViewController {
@IBOutlet weak var collectionView: UICollectionView!
var collectionViewDataSource: UICollectionViewDataSource? = nil
var collectionViewDelegate: UICollectionViewDelegate? = nil
override func viewDidLoad() {
super.viewDidLoad()
// 设置集合视图的代理和数据源。
collectionViewDataSource = self
collectionViewDelegate = self
// 设置集合视图的数据源。
let collectionViewItems = ["Item 1", "Item 2", "Item 3"]
collectionViewDataSource = UICollectionViewDataSource(cvItems: collectionViewItems) { (collectionView, indexPath, item) in
return UICollectionViewCellStyleSubtitle
}
}
}
class UICollectionViewDataSource: NSObject, UICollectionViewDataSource {
var cvItems: [String]!
init(cvItems: [String]) {
self.cvItems = cvItems
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return cvItems.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionViewCell", for: indexPath) as! UICollectionViewCell
cell.textLabel?.text = cvItems[indexPath.item]
return cell
}
}
class UICollectionViewDelegate: NSObject, UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: 100, height: 50)
}
}
CollectionTest.zip
预估大小:16个文件
CollectionTest
文件夹
CollectionTest
文件夹
main.m
335B
AppDelegate.h
278B
AppDelegate.m
2KB
Base.lproj
文件夹
LaunchScreen.xib
4KB
Main.storyboard
2KB
ViewController.h
280B
Images.xcassets
文件夹
29.27KB
文件大小:
评论区