Archive/가족 메신저(project-ios)

[RxSwfit] 테이블 뷰 안에 버튼이 반응하지 않을 때

lgvv 2021. 9. 17. 17:07

✅ 이번 시간에는 TableView안에 UIButton이 반응하지 않을 때를 알아보자.

테이블 뷰 안의 셀

 

저기 보이는 수정하기와 챌린지 시작이 UIButton이다.

IBAction으로 연결하니까 잘 되는데, rx를 사용하니까 안되는 문제 발견

 

아래의 코드를 보면 쉽게 문제 해결을 방법을 이해할 수 있다.

 

// 처음에 작성한 코드 -> 반응 없음
     REditButton.rx.tap
            .subscribe {
                self.REditButton.tintColor = .blue
                self.REditButton.setTitle("  도전중...  ", for: .normal)
            }

// 두번째로 작성한 코드 -> 여전히 반응 없음
     REditButton.rx.controlEvent(.allTouchEvents)
            .subscribe {
                self.REditButton.tintColor = .blue
                self.REditButton.setTitle("  도전중...  ", for: .normal)
            }
            
// 세번째로 작성한 코드 -> 반응 ok
     REditButton.rx.tap
            .bind {
                self.REditButton.tintColor = .blue
                self.REditButton.setTitle("  도전중...  ", for: .normal)
            }
            
// 번외   
     REditButton.rx.controlEvent(.allTouchEvents)
            .subscribe {
                self.REditButton.tintColor = .blue
                self.REditButton.setTitle("  도전중...  ", for: .normal)
            }

 

 

🟠 결론 

subscribe를 bind로 바꿔주어야 한다.