2013-03-28 2 views
3

사용자가 다른 양식을 공유 할 수있는 앱을 만들고 있습니다. 이상한 점은 iPhone에서 앱을 테스트 할 때 Activity View 컨트롤러가 정상적으로 작동한다는 것입니다. enter image description hereUI 활동 View Controller 다른 언어로 표시되는 컨트롤러 -iOS

하지만 ipad에서 똑같은 일을 할 때마다 다른 스토리 보드에서 작동합니다. 여기

enter image description here

다음 뷰 모두 자신의 행동을 받고있는 코드입니다 : 그것은이 수행

#import "FluteS.h" 
#import "TUSafariActivity.h" 
#import "ARChromeActivity.h" 
@interface FluteS() 

@end 

@implementation FluteS 

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
    // Custom initialization 
    } 
return self; 
} 

-(IBAction)actionButton:(id)sender;{ 

    NSLog(@"actionButton pressed"); 
    NSBundle *bundle=[NSBundle mainBundle]; 
    NSString *filePath = [bundle pathForResource:@"Flute" ofType: @"pdf"]; 
    NSURL *fileURL= [NSURL URLWithString:@"http://www.friendswoodmustangband.org/wp-content/uploads/2012/04/Flute-Audition-Scales1.pdf"]; 
    NSURL *fileUrl = [NSURL fileURLWithPath:filePath]; 

    NSArray *activityItems = @[fileUrl, fileURL]; 
    ARChromeActivity *chromeActivity = [[ARChromeActivity alloc] init]; 

    TUSafariActivity *TUSafari = [[TUSafariActivity alloc] init]; 

    NSArray *applicationActivities = [NSArray arrayWithObjects:TUSafari,chromeActivity, nil]; 

    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities: applicationActivities]; 
    activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities]; 


    activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePostToWeibo]; 
    [self presentViewController:activityVC animated:YES completion:nil]; 
} 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSBundle *bundle=[NSBundle mainBundle]; 
    NSString *filePath = [bundle pathForResource:@"Flute" ofType: @"pdf"]; 
    NSURL *fileUrl = [NSURL fileURLWithPath:filePath]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:fileUrl]; 
    [_webView loadRequest:request]; 
// Do any additional setup after loading the view. 
} 


- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

내가 이미의 Info.plist의 지역화 된 부분을 확인했다,하지만 난 아이폰에서 작동하는 이유를 알아낼 수는 없지만 아이 패드에서는 그렇지 않다. 아무도 무슨 일이 일어나고 있는지 전혀 모르나요?

+0

iPad에서는 Setting 앱을 실행하고 International, General로 이동합니다. 어떤 언어가 선택 되었습니까? – rmaddy

+0

영어의 언어. – Steve

+0

iPad 또는 앱 어디서나 스웨덴어를 사용하십니까? – rmaddy

답변

1

보기 컨트롤러를 표시 할 때 현재 장치에 적절한 방법을 사용해야합니다. iPad에서는 팝업 컨트롤러에보기 컨트롤러를 제시해야합니다. iPhone 및 iPod touch에서는 모달로 제시해야합니다.

iPad 용 코드는 다음과 같습니다.

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"something"] applicationActivities:nil]; 
self.popover = [[UIPopoverController alloc] initWithContentViewController:activityViewController]; 
self.popover.delegate = self; 
[self.popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

희망이 있습니다.

+0

이었습니다. 감사합니다. – Steve