UIButton
의 titleColor
을 선택하고 강조 표시 할 때 특정 색상으로 설정하려하지만 사용자가 터치 할 때 버튼이 선택되도록 설정해야합니다. UIButton
에UIButton 제목 선택시 색상 및 강조 표시
[button setTitleColor:normalColor forState:UIControlStateNormal];
[button setTitleColor:superDuperSpecialColor forState:UIControlStateHighlighted];
[button setTitleColor:superDuperSpecialColor forState:UIControlStateSelected];
[button addTarget:self
action:@selector(action:)
forControlEvents:UIControlEventTouchDown];
그러나 버튼을 [senderButton setSelected:YES]
을 사용하여 action:
방법 선택됩니다 때, 그것은으로, 그것이 있어야하는, 오히려 superDuperSpecialColor
보다는 titleColor
에 normalColor
설정 :
그래서처럼 설정 한 강조 표시되어 선택되었습니다.
전화가 전화를 걸면 버튼이 선택되지 않고 선택된 채로 머무르는 것을 방지하고 강조 표시된 상태 색상을 주석 처리해도 아무런 효과가없는 것 같습니다.
내가 하이라이트 후 setSelected:
를 호출하기 위해 UIControlEventTouchCancel
, UIControlEventTouchUpInside
및 UIControlEventTouchUpOutside
의 대상을 추가해야합니다은 - 또는 - 버튼 터치를 얻을 수 superDuperSpecialColor
에 UIControlStateNormal
에 대한 titleColor
을 변경 종료? 보조 노트에
titleColor
을 설정 좋아하는 것 :
[button setTitleColor:superDuperSpecialColor
forState:(UIControlStateHighlighted | UIControlStateSelected)];
그러나 그것은 작동하지 않습니다. 왜 그런가요? Objective-C가 상태 동등성을 검사합니까?
는 정상적인 색상을 시작하고 또한 정상 있도록 선택한 설정하면, 당신은 색으로 전혀 어떤 일이 일어나고 있는지 확신합니까? –
@MarcusAdams superDuperSpecialColor' '를 선택한 세트를로 설정하지만, 단지 버튼을 때 버튼 하이라이트와 동일 압하시에서'selected'을대로 버튼 AFTER 색이 강조되지 않도록 도시 . – RileyE