0

여기에 관련 코드의 구조입니다 : 내가 봤는데있는 UIButton은 setUserInteractionEnabled 사용하지 않도록 설정하지 : NO하고는, setEnabled : 아니오

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 

    if(!isResponding) { 

    ... 

    else { 

    ... 

    [respondButton setUserInteractionEnabled:NO]; 
    [respondButton setEnabled:NO]; 

    [_manager POST:queryStringss parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
     [formData appendPartWithFileData:imageData name:@"file" fileName:usernameEncoded mimeType:@"image/jpeg"];} 
      success:^(AFHTTPRequestOperation *operation, id responseObject) { 

      ... 

      failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
       NSLog(@"Error: %@ ***** %@", operation.responseString, error); 

       ... 

      } 
     } 
    ]; 

    [respondButton setUserInteractionEnabled:YES]; 
    [respondButton setEnabled:YES]; 

    ... 

} 

, 내가 그것을 모른 채 버튼을 다시 사용하고 있지 않다, 그것은 결코 비활성화 . 주변 코드가 실행됩니다. 도와주세요, 고마워요.

+0

setEnabled :와 success 및 failure 블록에 대한 두 번의 호출에 중단 점을 넣으십시오. –

+0

ok 1 초 지금하고있다 – ewizard

+0

나는 그것을 달렸다. 그리고 set1nabled : NO - 또한 내가 정말로 중단 점을 사용하는 방법을 모른다. – ewizard

답변

0

코드를 블록 내부로 옮겨야 작동 할 수 있습니다.

[respondButton setUserInteractionEnabled:NO]; 
    [respondButton setEnabled:NO]; 

    [_manager POST:queryStringss parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
     [formData appendPartWithFileData:imageData name:@"file" fileName:usernameEncoded mimeType:@"image/jpeg"];} 
      success:^(AFHTTPRequestOperation *operation, id responseObject) { 

      ... 

      failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
       NSLog(@"Error: %@ ***** %@", operation.responseString, error); 

       ... 

      } 

      [respondButton setUserInteractionEnabled:YES]; 
      [respondButton setEnabled:YES]; 
     } 
    ]; 
0

개방형 사용자 상호 작용 네트워크 요청 성공 후 사용 또는

[respondButton setUserInteractionEnabled:NO]; 
[respondButton setEnabled:NO]; 

[_manager POST:queryStringss parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
    [formData appendPartWithFileData:imageData name:@"file" fileName:usernameEncoded mimeType:@"image/jpeg"];} 
     success:^(AFHTTPRequestOperation *operation, id responseObject) { 

     ... 

     failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
      NSLog(@"Error: %@ ***** %@", operation.responseString, error); 
      [respondButton setUserInteractionEnabled:YES]; 
      [respondButton setEnabled:YES]; 

     } 
    } 
]; 
0

다른 답변을 가까이 실패했지만 나는 또한 버튼을 너무 success 블록에서 다시 활성화해야합니다.

[respondButton setUserInteractionEnabled:NO]; 
[respondButton setEnabled:NO]; 

[_manager POST:queryStringss parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 
[formData appendPartWithFileData:imageData name:@"file" fileName:usernameEncoded mimeType:@"image/jpeg"];} 
    success:^(AFHTTPRequestOperation *operation, id responseObject) { 

     [respondButton setUserInteractionEnabled:YES]; 
     [respondButton setEnabled:YES]; 
    } 
    failure:^(AFHTTPRequestOperation *operation, NSError *error) { 

     [respondButton setUserInteractionEnabled:YES]; 
     [respondButton setEnabled:YES]; 

    } 
}]; 
관련 문제