swift storyboard创建可以显示图片和文字的九宫格完整步骤和代码
时间: 2024-03-10 15:47:15 浏览: 181
有图形显示的完整九宫格c++程序
4星 · 用户满意度95%
创建一个可以显示图片和文字的九宫格的步骤如下:
1. 创建一个新的 Xcode 项目,选择 Single View Application 模板。
2. 在 Main.storyboard 中拖拽一个 UICollectionView 到 ViewController 中。
3. 在 UICollectionView 中添加一个 UICollectionViewCell,设置其大小和间距。可以通过设置 Minimum Spacing 和 Section Inset 来调整间距和边距。
4. 在 UICollectionViewCell 中添加一个 UIImageView 和一个 UILabel。
5. 创建一个 UICollectionViewCell 的 subclass,并将 UIImageView 和 UILabel 的 IBOutlet 连接到 UICollectionViewCell 的 subclass 中。
6. 在 ViewController 中设置 UICollectionView 的 dataSource 和 delegate。
下面是代码示例:
```
import UIKit
class MyCollectionViewCell: UICollectionViewCell {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var label: UILabel!
}
class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate {
@IBOutlet weak var collectionView: UICollectionView!
let items = [("item1", "image1"), ("item2", "image2"), ("item3", "image3")]
override func viewDidLoad() {
super.viewDidLoad()
collectionView.dataSource = self
collectionView.delegate = self
collectionView.register(UINib(nibName: "MyCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "cell")
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return items.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! MyCollectionViewCell
cell.label.text = items[indexPath.item].0
cell.imageView.image = UIImage(named: items[indexPath.item].1)
return cell
}
}
```
其中,items 数组用于存储每个九宫格的文本和图片的信息。在 cellForItemAt 方法中,根据 indexPath 获取对应的文本和图片,并设置到 UICollectionViewCell 的子视图中。注意,在 viewDidLoad 方法中注册 MyCollectionViewCell 的 nib 文件,以便在 cellForItemAt 方法中可以使用 dequeueReusableCell(withReuseIdentifier:for:) 方法。
阅读全文