TableView

영 yyyng·2022년 7월 18일
0

Swift

목록 보기
5/9
post-thumbnail
import UIKit
class TableViewController: UITableViewController {
        
    var birthdayFriends = ["Kim", "Lee", "Park", "Ha", "Ryu"]    
        
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    
    // 섹션의 수, 디폴트 값이 있으므로 코드를 작성하지 않아도 1개의 기본 섹션이 존재.
    override func numberOfSections(in tableView: UITableView) -> Int {
        return 3
    }
    
	// 섹션의 헤더 설정, 설정하지 않으면 표시되지 않는다. 섹션 수에 맞게 코드 작성
    override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        
        if section == 0 {
            return "0"
        } else if section == 1 {
            return "1"
        } else if section == 2 {
            return "2"
        } else {
            return "Header"
        }
        
        
    }
    
    // 헤더와 같음. 옵션
    override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? {
        "Footer"
    }
    
    
    // 섹션 별 셀의 수. 필수
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        
        if section == 0 {
            return birthdayFriends.count
        } else if section == 1 {
            return 2
        } else if section == 2 {
            return 5
        } else {
            return 5
        }
    }
    
    
  	// 셀의 디자인. 필수
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "settingCell")!
        
        if indexPath.section == 0 {
            
            cell.textLabel?.text = birthdayFriends[indexPath.row]
            
            cell.textLabel?.textColor = .systemMint
            cell.textLabel?.font = .boldSystemFont(ofSize: 20)
        } else if indexPath.section == 1 {
            cell.textLabel?.text = "cell, section 1 of indexPath"
            cell.textLabel?.textColor = .systemBlue
            cell.textLabel?.font = .boldSystemFont(ofSize: 25)
        } else if indexPath.section == 2 {
            cell.textLabel?.text = "cell, section 2 of indexPath"
            cell.textLabel?.textColor = .systemPink
            cell.textLabel?.font = .boldSystemFont(ofSize: 30)
        }
        
        
        
        return cell
    }

}
profile
yyyng2.github.io

0개의 댓글