누군가가 미리 선언 된 UILabel
같은 것을 만지면 조치를 취하고 싶습니다.UILabel을위한 접촉 방법이 있습니까?
if (label is touched) {
my actions;
}
이를 수행 할 방법/방법이 있습니까?
누군가가 미리 선언 된 UILabel
같은 것을 만지면 조치를 취하고 싶습니다.UILabel을위한 접촉 방법이 있습니까?
if (label is touched) {
my actions;
}
이를 수행 할 방법/방법이 있습니까?
을 대체 할 수 있습니다. touchesEnded:withEvent:
을 무시하고 싶을 것입니다.
또는 UIButton을 사용하십시오.
기본적으로 UILabel
은 터치 입력을 허용하도록 구성되지 않습니다. 그러나 UIButton
을 대신 사용하여 사용자 정의 모양을 설정하면 (단일 행) 레이블처럼 보이게하고 터치 이벤트에 응답하게 할 수 있습니다.
- (void)someSetupMethod {
// ...
label.userInteractionEnabled = YES;
UITapGestureRecognizer *tapGesture = \
[[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(didTapLabelWithGesture:)];
[label addGestureRecognizer:tapGesture];
[tapGesture release];
}
- (void)didTapLabelWithGesture:(UITapGestureRecognizer *)tapGesture {
// ...
}
당신은 확실히 userinteractionenabled가 YES로 설정되어 있는지 확인해야합니다 다음은 touchesBegan:withEvent:
당신은 그것을 하위 클래스와 터치 메소드를 오버라이드 (override) : 당신은 제스처 인식기를 사용할 수
그냥 UILabel 클래스의 범주를 추가하고 여기에 메서드를 추가하십시오.
정말 쉽습니다! 감사! –