Swift TableView 다양->No.1

12734 단어 UITableViewSwiftiOS

개시하다


저는 스위프트의 초보자입니다.
나는 UITTableView에 관한 많은 것을 쓸 것이다.<-비망록입니다.
이번에는 1위의 기본 부분이다.
다음 두 가지를 쓰시오.
/섹션 디스플레이
• 머리글 및 바닥글 표시

Storyboard에서 TableView 구성


먼저 TableView를 구성한 다음 TableViewCell을 구성합니다.

다음은 TableViewCell의 Identifier를 설정합니다.여기서는 "Cell"이라고 부릅니다.

Source Code


1.Model.swift
UItable ViewDataSource, UItable ViewDelegate의 실현
Model.swift
import Foundation
import UIKit

class Model: NSObject, UITableViewDataSource, UITableViewDelegate {

    let mView = View()

    // セクション名
    var foods = ["Vegetables", "Fruits"]

    // セルに表示するテキスト
    var vegetables = ["Pumpkin", "Cabbage", "Potato", "Ginger", "Onion", "Carrot", "Garlic"]
    var fruits = ["Apple", "Strawberry", "Cherry", "Banana", "Grape", "Peach", "Melon"]

//MARK:UITableViewDataSource

    /**
     テーブルビューのセクション数を返すメソッド
     */
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return foods.count;
    }

    /**
     セクション毎のタイトルをヘッダーに表示
     */
    func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return foods[section]
    }

    /**
     セクション毎のセル数を指定するメソッド
     */
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        switch section {
        case 0:
            return vegetables.count
        case 1:
            return fruits.count
        default:
            return 0
        }
    }

    /**
     セルの内容を変更するメソッド
     */
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        // Storyboardで設定したIdentifierでUITableViewCellのインスタンスを生成
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)

        // StoryboardでCellを作成しない場合
        // let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "Cell")

        // セルにテキストを設定
        switch indexPath.section {
        case 0:
            cell.textLabel?.text = vegetables[indexPath.row]
        case 1:
            cell.textLabel?.text = fruits[indexPath.row]
        default:
            break
        }

        return cell
    }

//MARK:UITableViewDelegate

    /**
     Footerを設定するメソッド
     */
    func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        return mView.createFooterLabel()
    }

}

2.View.swift
바닥글에 표시된 View
View.swift
import Foundation
import UIKit

class View : UIView {

    func createFooterLabel() -> UILabel {
        let footerLabelSize = CGRectMake(0, 0, 200, 20)
        let footerLabelText = "FooterFooter"

        let footerLabel = UILabel(frame: footerLabelSize)
        footerLabel.text = footerLabelText
        footerLabel.textAlignment = .Center
        footerLabel.backgroundColor = UIColor.cyanColor()

        return footerLabel
    }

}

3.ViewController.swift
컨트롤러
ViewController.swift
import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var tableView: UITableView!
    let mModel = Model()

//MARK:UIViewController
    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.dataSource = mModel
        tableView.delegate = mModel
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

실행 결과



최후


금번
TableView의 기본 구현
/섹션 디스플레이
• 머리글 및 바닥글 표시
에 대한 정보입니다.
다음번
· 칸 오른쪽에 체크 표시와 같은 표시를 표시합니다
・클릭 시 이벤트 처리 설치
기재하고 싶습니다.

좋은 웹페이지 즐겨찾기