Archive/위젯 캘린더(project-ios)

[iOS] UITableView BackgroundView didTapped ✨

lgvv 2022. 5. 4. 15:21

UITableView BackgroundView didTapped

 

✅ 이번에는 테이블 뷰에서 셀 바깥 부분의 터치를 적용하는 방법에 대해서 알아보자.

테이블 뷰와 cell

 

✅ 내가 해결한 방법의 코드는 생각보다 간단했는데

let tableView = UITableView()

let didTapView = UITapGestureRecognizer(
    target: self,
    action: #selector(didTapView)
)

tableView.backgroundView = UIView()
tableView.backgroundView?.addGestureRecognizer(didTapView)

@objc
func didTapView() {
    print("DidTap")
    dismiss(animated: false, completion: nil)
}

 

stackOverflow에서 해답을 찾았다.

https://stackoverflow.com/questions/24141254/how-to-detect-tap-on-clear-part-of-uitableview

 

How to detect tap on clear part of UITableView?

I have view controller with UITableView. Height of table view is static and == height of screen. Number of rows in table can change and sometimes it might be a situation when number of rows is less...

stackoverflow.com

 

✅ 다만 내가 진짜 하고 싶은건 테이블 뷰의 셀의 갯수와 높이를 계산하여 tableView 자체의 constraints를 height에 맞게끔 하여 backgroundView가 나타나지 않게끔 만들고 싶었는데, 그건 어떻게 하는지 잘 모르겠다.

 

혹시라도 아는 사람이 있다면 댓글 바랍니다:)