본문 바로가기

UIButton3

커스텀 UIButton 터치 인식 안되는 경우 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 }() p.. 2023. 12. 6.
UIButton 탭 시 image 색상 변경되지 않도록 설정하기 UIButton에 이미지를 설정하고, 탭을 하면 탭 되는 순간에 색상이 잠시 변경됩니다. 탭이 되었다는 효과를 주기는 하지만, 텍스트와 이미지에 색상을 설정해 주다보니 오히려 어색해 보이더라구요. 탭 전과 직후의 모습인데, 이미지 부분에 색상이 어둡게 변한 것을 확인할 수 있습니다. 이런 효과는 swift에서 기본적으로 제공하는 애니메이션인데, 다행히 disable이 가능합니다 :) `adjustsImageWhenHighlighted` 프로퍼티를 false로 설정해주면 탭 시 색상 변경 애니메이션이 비활성화 됩니다. private let keepMeSignedInButton: UIButton = { let button = UIButton() //... button.adjustsImageWhenHighli.. 2023. 7. 22.
UIButton 코드로 작성하기 #UIButton에 사용할 수 있는 기능들 1) UIButton에 연결된 action이 한 번만 실행되게 하고 싶다면? UIButton.isEnabled = false 로 설정하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 private let spinningBtn: HighlightedButton = { let button = UIButton() button.addTarget(self, action: #selector(selectChoice), for: .touchUpInside) //... return button }() @objc func selectChoice() { spinningBtn.isEnabled = false print("SpinningBtn tapped") } Colo.. 2022. 3. 3.
반응형