BESUP
  • HOME
  • PRODUCT
  • CONTENT
    • Swift一覧 >
      • UIView(ビュー)
      • UILabel(ラベル)
      • UIButton(ボタン)
      • UITextField(テキストフィールド )
      • UITextFieldの編集・キーボードリターンキーを押した時
      • UITextView(テキストビュー)
      • UITextViewの編集・キーボードリターンキーを押した時
      • UITabBar(タブバー)
      • UINavigationBar(ナビゲーションバー)
      • UITableView(テーブルビュー)
      • 横スライドアニメーション
      • 手描き
  • お問い合わせ

B E S U P

ー はじまりを、より良い機能を ー

UITableView(テーブルビュー)

【テーブルビューをコードで作る】

Storyboardを使わずに、コードでテーブルビュー を作成します
import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    //セクションに表示する
    let Sections: NSArray = ["セクション1","セクション2"]
    //セルに格納する
    let TODO1: NSArray = ["やること1","やること2"]    
    //セルに格納する
    let TODO2: NSArray = ["やらないこと1","やらないこと2"]

​

    ​override func viewDidLoad() { 
        super.viewDidLoad()


​        let tableView: UITableView = UITableView(frame: CGRect(x: 0, y: 0, width: screenW, height: screenH))

        //テーブルビューセル名を登録する
        tableView.register(UITableViewCell.self, forCellReuseIdentifier: "todoCell")

        //delegateの設定
        tableView.delegate = self
​

        //dataSourceの設定
        tableView.dataSource = self
                
        //画面にテーブルビューを追加
        self.view.addSubview(tableView)
    }


    //Section数を決める
    func numberOfSections(in tableView: UITableView) -> Int {
        
        return Sections.count
    }
    
    //Sectionの高さを決める
    func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {

        return 60        
    }
    
    //Sectionのタイトルを決める
    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {

        return Sections[section] as? String
    }

    //Sectionの背景とテキストの色を変更する
    func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

        //背景色を変更する
        view.tintColor = UIColor(red: CGFloat(redColor), green: CGFloat(greenColor), blue: CGFloat(blueColor), alpha: 1.0)

        //テキスト色を変更する
        let header = view as! UITableViewHeaderFooterView
        header.textLabel?.textColor = .white
        h
eader.layer.masksToBounds = true
        header.layer.borderColor = UIColor.gray.cgColor
        
header.layer.borderWidth = 0.2
        
    }
    
    
    //セルの高さを返すメソッド
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

        return 50
    }

​    //セルの数を設定する
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        switch section {
            case 0:
                
                return TODO1.count

            case 1:

                return TODO2.count
            
            default:

                return 0
         }
    }
    
    
    //セルに値を設定する
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        let todocell = UITableViewCell(style: .subtitle, reuseIdentifier: "todocell")

        switch indexPath.section {
            case 0:

                todocell.textLabel!.text = ToDohome[indexPath.row]

            case 1:
            
                todocell.textLabel!.text = ToDoplay[indexPath.row]

            default:
            
                return todocell
        }

        return todocell
    }

​    //セルがタップされた時の処理
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        switch indexPath.section {
                
            case 0:

                print("セクション1_セルタップ")

            case 1:

                print("セクション2_セルタップ")

​            default:
                
                return                 
            }
    }
}
コンテンツ一覧へ

ホーム

プライバシーポリシー

お問い合わせ

Copyright © 2020
  • HOME
  • PRODUCT
  • CONTENT
    • Swift一覧 >
      • UIView(ビュー)
      • UILabel(ラベル)
      • UIButton(ボタン)
      • UITextField(テキストフィールド )
      • UITextFieldの編集・キーボードリターンキーを押した時
      • UITextView(テキストビュー)
      • UITextViewの編集・キーボードリターンキーを押した時
      • UITabBar(タブバー)
      • UINavigationBar(ナビゲーションバー)
      • UITableView(テーブルビュー)
      • 横スライドアニメーション
      • 手描き
  • お問い合わせ