iOS/UIKit
[UIKit] No StroyBoard -TableViewCell (테이블뷰셀) 내부의 버튼이 클릭되지 않을 때
늘스토리 주인장
2023. 3. 1. 17:06
728x90
반응형
🧸 시작
테이블뷰셀에 버튼을 만들어서 클릭 이벤트를 주었지만 작동하지 않았다.
테이블뷰셀을 클릭하는 것은 작동되었으나 내부에 있는 버튼은 클릭이 되지 않았다.
🧸 문제 해결하기
처음에는 생명주기나 호출의 문제로 생각했지만 뷰의 계층적인 문제였다.
계층을 보게되면 파란색 네모박스는 버튼이고 버튼 앞에 contentView 라는 것이 존재했다.
그러니 아무리 클릭을 해도 버튼을 클릭하는 것이 아니라 뷰를 클릭하게 된 것이다.
코드베이스로 뷰를 작성하면서
테이블뷰셀의 컴포넌트들을 추가하는 뷰가 잘못되었다.
func setAddSubViews() {
self.addSubview(loadIV)
self.addSubview(loadPV)
self.addSubview(loadBtn)
}
기존에는 self.addSubView()
에 추가를 해주었지만
func setAddSubViews() {
self.contentView.addSubview(loadIV)
self.contentView.addSubview(loadPV)
self.contentView.addSubview(loadBtn)
}
self.contentView.addSubview()
로 변경하여 contentView
에 추가해준다.
이제 버튼이 가장 위로 올라오면서 클릭이 가능해진다.
📂 정리
테이블뷰셀의 컴포넌트들은 contentView
에 추가해주자!
728x90
반응형