sourcecode

프로그래밍 방식으로 발사 버튼 클릭 이벤트?

codebag 2023. 7. 2. 19:28
반응형

프로그래밍 방식으로 발사 버튼 클릭 이벤트?

버튼 클릭 이벤트를 프로그래밍 방식으로 실행할 수 있는 방법이 있습니까?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

반응형