UIActivityViewController | 初心者がiPhoneアプリを作るブログ

初心者がiPhoneアプリを作るブログ

初心者がiPhoneアプリを作るブログです.
入門レベルですので開発初心者にも,できるだけ分かるように丁寧に説明していきます(多分).

iOS6.0から導入されたUIActivityViewControllerを使ってみた.
こんなやつ

UIActivityViewController1UIActivityViewController2

以下のコードはUIViewControllerのサブクラスの一部である.

- (void)buttonTouched:(UIButton *)button{
    /**
     * activityControllerに設定するコンテンツ
     * 例えば,文字列であったり,文字列と画像だったり.
     * Activityを想定して配列を用意する
     */
    NSArray *items = [NSArray arrayWithObjects:@"UIActivityTest!!!!", nil];
    /**
     * モーダルビューに配置するアプリケーションの配列を設定するみたいだけど,
     * レファレンスには一般的に「nil」を設定するみたいなことを書いてある
     * 変態プログラマは配列を設定できるのか??
     */
    UIActivityViewController *activityController = [[UIActivityViewController alloc]
                                                    initWithActivityItems:items
                                                    applicationActivities:nil];
    // iOS6からモーダルビューを表示する際は,このメッセージを呼ぶべきらしい.
    [self presentViewController:activityController animated:YES completion:^{
        NSLog(@"complete");
    }];
}


- (void)viewDidLoad
{
    [super viewDidLoad];
// Do any additional setup after loading the view.
    // 「モーダルビューを呼び出すボタン」の設置
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button setFrame:CGRectMake(self.view.bounds.size.width / 2 - 30,
                                self.view.bounds.size.height / 2 - 15,
                                60,
                                30)];
    [button addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside];
    [button setTitle:@"Activity" forState:UIControlStateNormal];
    [self.view addSubview:button];
}



ActivityItemsでコンテンツを配列で指定する.
今回はNSStringオブジェクトのみ指定したが,どうやらUIImageも指定できるみたい.試した人情報求む!!
applicationActivityにはnilを指定.今後,指定できるアプリケーションが増えるのか??

まぁこんな感じ.

今までTwitterやFacebookとのめんどくさかった連携が,これで楽になる気がする.
特にFacebookはありがたいかもしれない.