0

は、関連するコードの構造である:私が見てきたUIButtonがsetUserInteractionEnabled使用して無効にしない:NOをし、setEnabled:ここではNO

- (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:と成功ブロックと失敗ブロックの2つの呼び出しにブレークポイントを設定してみてください。今 –

+0

OK 1秒が、私はそれを実行し、それがsetEnabledた最初のもので破った:NO - も私は本当にOK、代わりのNSLogを使用してみてください – ewizard

+0

それをやって – 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]; 

    } 
}]; 
関連する問題