2010-12-29 9 views
2

두 개의 버튼이 정의되어 있습니다. 그 중 하나가 클릭하면 작성 메일 화면을 열어야하고 다른 하나는 클릭해야 호출 할 수 있습니다. 나는 이것을 아래와 같이 정의했다. 버튼을 누를 때,이 전화 번호 중 하나를uibutton onclick가 웹 페이지를 호출하거나 열지 않습니다.

-(IBAction) phoneButtonPressed:(id) sender{ 
    NSString *phoneNumber = [[NSString alloc] initWithString:@"4216483330"]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]]; 
} 

-(IBAction) mailButtonPressed:(id) sender{ 

     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto:[email protected]?subject=ULS Library"]]; 
} 

답변

6

열리지 않습니다, URL을 접두사해야한다 "TEL :"이 같은 :

NSString *phoneNumber = [[NSString alloc] initWithString:@"tel:4216483330"]; 
메일에 대한


,

NSString *urlString = @"mailto:[email protected]?subject=ULS Library"; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[urlString 
     stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; 

Apple URL Scheme Reference를 참조하십시오 : 문제는 NSURL에게주기 전에 탈출해야합니다 ("ULS 라이브러리"에서) URL 문자열에 공백이 있습니다.

+0

또한 openURL 줄 다음에 phoneNumber를 릴리스해야합니다. – Anna

+0

감사합니다.이 일이 ...하지만 사용자에게 물어볼 수있는 확인 방법이 있습니까? 전화하고 싶니? 메일을 보내시겠습니까? 당신은 저에게 어떻게 말해 주시겠습니까 –

+1

원하는 모양에 따라 UIAlertView 또는 UIActionSheet를 사용할 수 있습니다. IBAction 메서드에 alertview/actionsheet를 표시하고 ("OK/Yes"버튼을 클릭 한 경우) alertview/actionsheet의 clickedButtonAtIndex 대리자 메서드에서 openURL을 실행합니다. Apple 샘플 앱인 UICatalog에는 예제가 있으며이 사이트에도 많은 예제가 있어야합니다. – Anna

관련 문제