반응형
프로그래밍 방식으로 발사 버튼 클릭 이벤트?
버튼 클릭 이벤트를 프로그래밍 방식으로 실행할 수 있는 방법이 있습니까?UIV 보기에 버튼이 배치되어 있으며, 특정 시나리오에서는 사용자가 수동으로 버튼을 클릭하지 않고 코드를 통해 버튼을 클릭합니다.iOS 개발에서도 가능합니까?당신의 제안과 그것을 하는 방법을 알려주세요.
감사해요.
켄의 답변과 비슷하지만 버튼을 변경하거나 둘 이상을 추가하면 실제 작업을 추적할 수 있기 때문에 더 유연합니다.
[button sendActionsForControlEvents:UIControlEventTouchUpInside];
저는 위와 같은 문제가 있었습니다.제가 댓글을 달았을 텐데, 제 평판이 별로 안 좋아요.대신 전체 답변을 게시하겠습니다.
[btn setHighlighted:YES];
[btn sendActionsForControlEvents:UIControlEventTouchUpInside];
[btn performSelector:@selector(setHighlighted:) withObject:NO afterDelay:0.25];
그러면 프로그래밍 방식으로 버튼을 누르고 정상으로 보이는 시간 동안 강조 표시됩니다.리치의 제안은 버튼이 감지할 수 없는 시간 동안만 강조 표시되었기 때문에 효과가 없었습니다.
사용자가 버튼을 누르면 실행되는 코드를 실행하는 것이 어떻습니까?
-(void)myMethod
{
// do stuff
}
-(IBAction)myButtonClick:(id)sender
{
[self myMethod];
}
-(void)clickMyButton
{
[self myMethod];
// OR
[self myButtonClick:nil];
}
UIButton을 말하는 경우, UIButton이 탭될 때 호출하는 것과 동일한 메서드를 호출할 수 있습니다.예:
[self myButtonsTargetMethod];
네.
[_button setHighlighted:YES];
[_button sendActionsForControlEvents:UIControlEventTouchUpInside];
[_button setHighlighted:NO];
그러나 여기서 문제는 너무 빠르기 때문에 이벤트를 볼 수 없다는 것입니다. 따라서 NSTimer로 위의 코드를 시도해 보는 것이 가능합니다.
NSTimer *quick = [NSTimer scheduledTimerWithTimeInterval:2.5 target:self selector:@selector(MeFirst:) userInfo:nil repeats:NO];
MeFirst는 제가 만든 메소드입니다.
언급URL : https://stackoverflow.com/questions/5625651/programmatically-fire-button-click-event
반응형
'sourcecode' 카테고리의 다른 글
int가 짧고 잘린 경우 새 값은 어떻게 결정됩니까? (0) | 2023.07.02 |
---|---|
고유 인덱스가 있을 때 Oracle 10g과 11g 사이의 REF CURSOR에 대한 다른 동작? (0) | 2023.07.02 |
도커 구성: mariadb - 연결이 거부됨 (0) | 2023.07.02 |
USER()와 SYS_CONTEXT('USERNV', 'CURRENT_USER')의 차이점은 무엇입니까? (0) | 2023.07.02 |
mongodb는 뚜렷한 기록을 얻습니다. (0) | 2023.07.02 |