본문 바로가기
Swfit

커스텀 UIButton 터치 인식 안되는 경우

by GGShin 2023. 12. 6.

UIButton도 커스텀하여 사용하는 경우가 많은데,

만든 버튼이 특정 부분만 터치가 인식되거나 전체적으로 터치가 인식되지 않기도 합니다.

그럴 때는 버튼을 구성하는 UIView들의 `isUserInteractionEnabled` 프로퍼티를 false로 바꾸어주면 됩니다.

 

final class AppThemeButton: UIButton {
    
    private let containerView: UIView = {
        let view = UIView()
        view.isUserInteractionEnabled = false // 이 부분
        view.backgroundColor = .clear
        view.translatesAutoresizingMaskIntoConstraints = false
        return view
    }()
    
    private let themeImageView: UIImageView = {
        let imageView = UIImageView()
        imageView.clipsToBounds = true
        imageView.layer.cornerRadius = 8
        imageView.isUserInteractionEnabled = false // 이 부분
        imageView.translatesAutoresizingMaskIntoConstraints = false
        return imageView
    }()
    
    // ...
    
}

 

유사한 문제가 있으신 분들이 보시고 고생 좀 덜하셨으면 좋겠습니다 :)

 

반응형