iOS 인증 코드 보 내기 카운트다운 적용
구체 적 인 코드 는 다음 과 같다.
- (IBAction)sendMes:(UIButton *)sender
{
__block int timeout = 10 ; //
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);
dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), 1.0 * NSEC_PER_SEC, 0); //
dispatch_source_set_event_handler(_timer, ^{ // NSTimer
if(timeout<=0){ // ,
dispatch_source_cancel(_timer);
dispatch_async(dispatch_get_main_queue(), ^{
//
[sender setTitle:@" " forState:UIControlStateNormal];
sender.enabled = YES;
});
}else{
int seconds = timeout % 60;
NSString *strTime = [NSString stringWithFormat:@"%d", seconds];
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"----%@", [NSThread currentThread]);
//
[sender setTitle:[NSString stringWithFormat:@"(%@) ",strTime] forState:UIControlStateDisabled];
sender.enabled = NO;
});
timeout--;
}
});
// resume
}
이 button 은 storyboard 에서 직접 구현 할 수 있 습 니 다.button 의 배경 색 은 회색 으로 선택 하고 배경 그림 을 설정 합 니 다.예 를 들 어 위의 빨간색 그림,button 의 type 은 custom 으로 설정 합 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.