UI活动视图控制器以不同的语言显示?-iOS

时间:2013-03-28 21:51:18

标签: iphone objective-c ipad uiactivityviewcontroller

我正在创建一个用户可以共享不同表单的应用。有点奇怪的是,当我在iPhone上测试应用程序时,活动视图控制器工作正常enter image description here

但是当我在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的本地化部分,但我无法弄清楚它在iPhone上运行的原因,而不是在iPad上。有没有人知道发生了什么?

1 个答案:

答案 0 :(得分: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];

希望它对你有所帮助。