私のテーブル ビューには、いくつかのカスタム セルがあります。1 つには複数のボタンが含まれているため、ボタン セルと呼ばれます。そのうちの 1 つは、UIActivityViewController を呼び出そうとしている共有ボタンです。しかし、私はそれを働かせることができません。UITableViewCell をサブクラス化し、ButtonCell と呼びました。ヘッダー ファイルで、Share という IBAction をリンクしました。実装ファイル(ButtonCell.m)では、以下を試しました。
- (IBAction)Share
{
NSString *initialText = [NSString stringWithFormat:@"I like this Catherine Pooler Blog Post: "];
UIImage *image = [UIImage imageNamed:@"iTunesArtwork.png"];
UIActivityViewController *avc = [[UIActivityViewController alloc] initWithActivityItems:@[image, initialText] applicationActivities:nil];
[self presentViewController:avc animated:YES completion:nil];
}
ただし、コンパイラは自分自身が好きではありません。presentViewController:animated:completion の可能性は表示されません。ボタンを使用してカスタム セルから UIActivityViewController を表示する方法はありますか。ご助力いただきありがとうございます。
EDIT #1 Michael と A-live のおかげで解決できました。すべての助けをありがとう。
私の cellForRowAtIndexPath メソッドでは、次のコード行を使用しました...
[buttonCell.shareButton addTarget:self action:@selector(shareTapped) forControlEvents:UIControlEventTouchUpInside];
Target を追加することで、タップを検出し、メソッド shareTapped を呼び出すことができました。これにより、UIActivityViewController が起動し、計画どおりに機能します。すべての情報とリンクをありがとう。