UIButton의 강조 표시 제어 상태를 비활성화하는 방법은 무엇입니까?
선택하면 터치 할 때 상태를 변경해서는 안되는 UIButton이 있습니다. 기본 동작은 터치하는 동안 UIControlStateHighlighted에있는 것이므로 화가납니다.
제안?
버튼 buttonType
이 사용자 정의 로 설정되어 있어야합니다 .
IB에서는 "강조 이미지 조정"을 선택 취소 할 수 있습니다.
프로그래밍 방식으로 사용할 수 있습니다 theButton.adjustsImageWhenHighlighted = NO;
"비활성화"상태에서도 비슷한 옵션을 사용할 수 있습니다.
IB에서 "이미지를 조정합니다"를 선택 해제하는 위의 답변 외에도 버튼 유형이 CUSTOM으로 설정되어 있는지 확인하십시오.
이것은 당신을 위해 일할 것입니다 :
[button setBackgroundImage:[UIImage imageNamed:@"button_image"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected];
[button setBackgroundImage:[UIImage imageNamed:@"button_image_selected"] forState:UIControlStateSelected | UIControlStateHighlighted];
세 번째 줄은 여기 속임수입니다 ...
이것은 이미지 / backgroundImage 설정과 동일하게 작동합니다.
adjustsImageWhenHighlighted = NO;
button.adjustsImageWhenDisabled = NO;
사용 중지 된 버튼 모양을 유지하는 데에도 유용합니다.
기본값에서 강조 표시된 버튼 상태로 변경되는 내용에 따라 몇 가지 메소드를 호출하여 필요한 것으로 설정할 수 있습니다. 이미지가 바뀌면
[myButton setImage:[myButton imageForState:UIControlStateNormal] forState:UIControlStateHighlighted];
텍스트가 바뀌면 할 수있는 일
[myButton setTitle:[myButton titleForState:UIControlStateNormal] forState:UIControlStateHighlighted];
다른 유사한 기능 :
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state
OK. 이것이 이것이 당신을 위해 작동한다면 쉬운 해결책입니다 .1 주일 동안 머리를 두드리고 나면 TouchUpInside 또는 TouchDown에 대한 IBAction 메소드의 첫 번째 줄에 대해 highlight = NO를 설정하거나 어떤 것이 든 작동했습니다. 나를 위해 TouchUpInside에서 괜찮 았습니다.
-(IBAction)selfDismiss:(id)sender {
self.btnImage.highlighted = NO;
NSLog(@"selfDismiss");
etc, etc, etc.
}
Swifty Developer의 경우-
yourButton.adjustsImageWhenHighlighted = false
스위프트 3+
button.adjustsImageWhenHighlighted = false
button.adjustsImageWhenDisabled = false
단지 두 가지 :
UIButton *btnTransparentComponent = [UIButton buttonWithType:UIButtonTypeCustom];
btnTransparentComponent.adjustsImageWhenHighlighted = NO;
비슷한 문제가 발생하여 인터페이스 빌더에서 그래픽 컨텐츠 지우기를 "선택 취소"하면 문제가 해결 된 것으로 나타났습니다.
당신의 버튼 유형- "사용자 정의"및 선택 취소-강조 이미지 조정을 완료하면 완료됩니다.
UIButton의 줄 바꿈 을 Clip 으로 설정하지 말고 대신 표준 자르기 중간을 사용하십시오.
참고 URL : https://stackoverflow.com/questions/2259905/how-to-disable-the-highlight-control-state-of-a-uibutton
'development' 카테고리의 다른 글
람다와 함께 JDK8을 사용하여 압축 스트림 (java.util.stream.Streams.zip) (0) | 2020.06.23 |
---|---|
ASP.NET MVC 및 IIS7에서 원시 HTTP 요청 / 응답 로깅 (0) | 2020.06.23 |
Eclipse에서 줄 삭제 (0) | 2020.06.22 |
http에서 https로 아파치 리디렉션 (0) | 2020.06.22 |
SQL Server의 로컬 및 글로벌 임시 테이블 (0) | 2020.06.22 |