TableViewセルの作り方 その1(Prototype Cells)(忘備録)
7642 ワード
手順
1. Prototype Cellの追加とセルの設定
- Storyboardで配置したTableViewを選択
- Attributes inspectorでPrototype Cellsの数を増やす
2. セルのUITableViewCellクラスの設定
- コードでUITableViewCellのClassを作成する(下記Code参照)
- StoryboardのPrototypeCellを選択してIdentity inspectorでCustomClassに作成したClassを設定
3. セルのIDを設定
- StoryboardでCellを選択しAttributes inspectorのIdentifireにセルのIDを設定
4. ViewControllerとUITableViewCellとの接続
TableViewはViewControllerクラスに接続して、CellのUIはUITableViewCellのクラスに接続する。
※先にClassを指定しておかないとつながらない。
※接続時にエラーが出るなどうまくいかない場合は一度ビルドする。
コード
ViewController.swift
import UIKit
class ListViewController: UIViewController {
private let cellId = "cellId"
//TableViewの接続
@IBOutlet weak var listTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
listTableView.delegate = self
listTableView.dataSource = self
}
}
// MARK: - UITableViewDelegate, UITableViewDataSource
extension listViewController: UITableViewDelegate, UITableViewDataSource{
//Cellの高さ
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 80
}
//セルの個数
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
//cellの中身を設定
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = listTableView.dequeueReusableCell(withIdentifier: cellId, for:indexPath)
//cellIdはストーリーボード側のセルにも設定する
return cell
}
}
// MARK: - UITableViewCell
class ListTableViewCell: UITableViewCell{
//CellのUIをOutlet接続
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var msgLabel: UILabel!
//awakeFromNibは「func」のみの方を選択
//StoryBoardやxibファイルからインスタンス化される場合に呼ばれる
//Nibファイルが開かれ、使用準備が完了。
override func awakeFromNib() {
super.awakeFromNib()
//UIのプロパティーなどを記述
imageView.layer.cornerRadius = 35
}
//セルの選択された状態を設定し、オプションで状態間の遷移をアニメーション化する
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
}
Author And Source
この問題について(TableViewセルの作り方 その1(Prototype Cells)(忘備録)), 我々は、より多くの情報をここで見つけました https://qiita.com/Secret-Base36/items/25f8085df20e83872e19著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .