2012-03-30 4 views
0

iOS 프로젝트에서 ASIHttpRequest를 사용하고 있습니다. requestFail에서이 같은 일을 오전 : 이제ASIHttprequest에서 요청 실패

#pragma mark Erreur requête de connexion 
- (void)requestFailed:(ASIHTTPRequest *)request 
if([[request error] code] == ASIConnectionFailureErrorType) 
    { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Erreur de connexion" 
                 message:@"Connexion avec le serveur impossible : vérifiez vos paramètres réseaux." 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 

     [alert show]; 

    } 
    else if ([[request error] code] == ASIRequestTimedOutErrorType) 
    { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Erreur de connexion" 
                 message:@"La requête a expiré !" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles:nil]; 

     [alert show]; 

    } 
    else 
    { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Erreur de connexion" 
                 message:@"Une erreur inconnue est survenue." 
                 delegate:nil 
               cancelButtonTitle:@"Annuler" 
               otherButtonTitles:nil]; 

     [alert show]; 

    }  
} 

, 난 사용자에게 이미지 뷰 (쇼 오류 (접속 실패가 있다는 것을 그에게 특별한 UIImageView에 모든 내 UIAlertView를 교체하고 싶습니다 .. 서버 오류가없는 경우이 이미지 뷰를 제거하십시오.

이력서 : 요청이 실패하면 이미지 뷰를 표시하고이 이미지 뷰를 제거하고 요청을 연관 시키십시오 (어떻게 ASIHtppRequest로이 작업을 수행 할 수 있습니까?). ?

답변

1

UI 시트처럼 ActionSheet를 처리 할 수 ​​있으므로 UIActionert를 사용하여 UIAlertView를 대체 할 수 있다고 생각합니다. ou는 UIImageView가 포함 된 ActionSheet를 표시 할 수 있습니다. 단추 중 하나를 사용하여 ActionSheet를 닫아 ASIHTTPRequest를 다시로드 할 수도 있습니다. 다음 코드는 사용자가 UIImageView를 추가하고 취소 단추를 클릭 할 때 요청을 트리거 할 수있는 UIActionSheet의 대리자 메서드를 보여줍니다.

#pragma - 
#pragma ActionSheet Delegate 

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet { 

    UIImageView * yourImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 55, 320, 100)]; 

    //Configure yourImageView... 

    //Add picker to action sheet 
    [actionSheet addSubview:yourImageView]; 

    // Release your yourImageView 
    [yourImageView release]; 


} 
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 

    if (buttonIndex != [actionSheet cancelButtonIndex]) 
    { 
     // Call back your ASIHTTPRequest 
    } 
} 

.h 파일에 UIActionSheetDelegate를 구현하는 것을 잊지 마십시오.

행운을 비네.

관련 문제