[Swift]Table View 이슈

Table View - Code base Issue 📝

이슈 ▾

 

  • 알림 탭
    • 프로필 이미지(Image View)에 Tap Gesture가 실행이 되지 않았다.
    • 팔로잉 버튼(Button)의 Add Target이 실행되지 않았다.

 

  • 설명
    • 해당 알림 탭의 알림 하나하나가 UITable View Cell이다.
    • 각 Cell안에는 Image View(Tap Gesture), Button(Add Target)가 구현되어있고, 각각 기능을 추가한 상태이다.
    • addSubView를 이용해 각각 컴포넌트들을 넣어주었다.
    • 표시만 되고 클릭이 되질 않았다.

 

 

원인 🍎

  • 해당 뷰의 코드는 View 폴더에 TableViewCell 클래스 파일이다.
  • UITableViewCell에서는 content View가 존재한다. 이를 위해 사진을 첨부했다.

  • 위 사진을 보면 프로필 이미지(Image View)와 팔로우 버튼(Button) 상위에 다른 Viewr가 존재한다.
  • 이것이 Content View이다. 그럼 이 Content View가 뭘까?

 

Content View 🤷🏻‍♂️

  • 해석하면 "셀 개체의 보기 컨텐츠 View입니다." 라고 한다.
  • 즉 Cell 맨 상위에는 content View가 존재하는 것이다.

 

 

해결 🥝

  • 기존 아래와 같은 코드를 바꾸었다.
// stack → 프로필사진(Image View), 문구(Label)
addSubview(stack)

 

  • content View에 넣다.
contentView.addSubview(stack)

 

  • 위 코드처럼 content View에 addSubview를 해서 content View에 추가해줌으로써 제일 상위에 컴포넌트들이 노출될 수 있도록 구현했다.
  • 아래 View들의 계층을 먼저 살펴보자

 

  • 위처럼 맨 상위로 컴포넌트들이 올라오기 때문에 터치 이벤트를 처리할 수 있었다.
  • 해결 영상 ▾

 

 

  • 앞으로는 이런 상황에선 contentView에 대한 처리부터 살펴보게 될 것 같다. 😅

'Udemy.zip' 카테고리의 다른 글

[Swift]RxSwift 기초 문법  (0) 2022.04.13
[Swift] Firebase 기능  (0) 2022.03.25
[Swift]Model 동기화  (0) 2022.02.27
[Swift]ActionSheet-Protocol  (0) 2022.02.25