0
UI 스레드 내가 그것을 수행 할 경우,performSelector : withObject : afterDelay 블록 내가 작업을 수행 할
그러나 UI 스레드에서 (단추를 사용 가능한 상태로 설정) "지연 후"이 UI를 차단하는 것 스레드
-(void)changeButtonState:(UIButton *)btn{
[btn setEnabled:NO];
[self performSelector:@selector(reenableButton:) withObject:btn afterDelay:5];
}
-(void)reenableButton:(UIButton*)btn{
[btn setEnabled:YES];
}
어떻게하면 메인 스레드를 차단하지 않고, 지연 후 선택을 수행 할 수 있으며, 내가해야 할 작업이 UI 스레드에서 수행해야합니다?
performSelector : withObject : afterDelay :'현재 스레드를 차단하지 않습니다. 선택기를 호출 할 때까지 UI가 5 초 동안 차단되었다고 말씀 하시겠습니까? 그것은 전혀 일어나지 않아야합니다. – rmaddy
화면에 2 개의 편집 텍스트가 있습니다. 첫 번째 편집 텍스트에서 일부 입력을 입력 한 후 단추를 클릭하면 비활성화됩니다. 두 번째 편집 텍스트를 클릭하여 이전에 값을 변경 할 수 없습니다. 버튼이 다시 활성화됩니다. 나는 그것을 작성 했으므로 어떤보기 (화면 편집, 단추 편집) 외부의 화면을 누르면 키보드가 숨겨지고 버튼이 비활성화되어있는 동안에는 나타나지 않습니다. –