[UIKit] 테이블뷰 만들기 & 테이블뷰 셀 클릭이벤트

2022. 8. 14. 03:22SWIFT/UIKit

728x90
반응형

스토리보드에 테이블뷰를 추가한다.

 

스토리보드의 테이블뷰를 뷰컨트롤러에 선언해준다

@IBOutlet weak var myTableView: UITableView!

 

테이블뷰셀을 만든다

새로운 파일 추가하여 Cocoa Touch Class에서 UITableViewCell 파일을 선택하여 XIB파일도 함께 생성해준다.

 

 

테이블뷰셀을 꾸민다

 

 

오른쪽 인스펙터 화면에서 identifier 이름을 설정해준다 (헷갈리지않게 파일이름과 똑같이 만들어준다)

 

 

뷰컨트롤러에서 테이블뷰를 연결한다

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    @IBOutlet weak var myTableView: UITableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        myTableView.dataSource = self
        myTableView.delegate = self
        myTableView.rowHeight = 200
        let tableViewCellNib = UINib(nibName: "myTableViewCell", bundle: nil)
        self.myTableView.register(tableViewCellNib, forCellReuseIdentifier: "myTableViewCell")

    }
    
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        //테이블뷰의 이벤트처리 함수
        print("테이블뷰 셀이 클릭 되었다!")
    }
    
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = myTableView.dequeueReusableCell(withIdentifier: "myTableViewCell", for: indexPath) as! myTableViewCell
        
        return cell
    }
}

여기에서 

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        //테이블뷰의 이벤트처리 함수
        print("테이블뷰 셀이 클릭 되었다!")
    }

해당 부분이 테이블뷰 셀을 클릭했을 때 발동하는 함수이다.

indexPath를 통해 인덱스도 알 수 있다.

 

 

 

 

 

728x90
반응형