[Swift]UIActivityViewControllerの使い方
こんにちは、プログラマーの@Yuuです。
UIActivityViewControllerて何じゃ?と言いますと、色々なアプリと連携するためにiPhoneの画面下からニョキッと出てくるやつです。
うん、この説明じゃ全然分かんないですね!
以下のようなのが「UIActivityViewController」と呼ばれるものです。
iPhoneを使っている方であれば、1度は見た事があるのではないでしょうか?
今回はこの「UIActivityViewController」をSwiftで呼び出して使う方法をご紹介します。
スポンサーリンク
UIActivityViewControllerを使う
UIActivityViewControllerを使う上で、まず抑えておいて欲しい事があります。
それは以下の3つの情報をUIActivityViewControllerに渡す事が出来るということ。
- テキスト
- URL
- 画像
ここを抑えた上で、順番にUIActivityViewController使い方を解説していきたいと思います。
UIActivityViewControllerを表示してみる
ボタンを押したらUIActivityViewControllerが出てきてテキストを渡すサンプルから。
1 2 3 4 5 6 7 8 9 10 |
@IBAction func pushActivityButton(sender: AnyObject) { let text = "sample text" let items = [text] // UIActivityViewControllerをインスタンス化 let activityVc = UIActivityViewController(activityItems: items, applicationActivities: nil) // UIAcitivityViewControllerを表示 self.presentViewController(activityVc, animated: true, completion: nil) } |
これを実行すると
このようにUIActivityViewControllerが表示されます。
そしてTwitterを選択すると
これでPostてボタンを押せば、Twitterに投稿出来ちゃうんだから超簡単!!
(๑•̀ㅂ•́)و✧
では簡単なコードの解説を。
注目してほしいのは、6行目のUIActivityViewControllerのインスタンスを生成するところ。
ここの第一引数のactivityItems:
というラベルが付けられたところに、先ほど書いた受け渡せる3つ(テキスト・URL・画像)の情報を与えます。
第一引数のactivityItems:
には[AnyObject]
を指定する必要があるので、テキストだけを渡したい場合でも配列を作成する必要があります。
そのため3行目でitems
という配列を用意しています。
そして、最後の9行目でUIActivityViewControllerに遷移する、という流れです。
遷移したUIActivityViewController内では、3行目で渡したitems
を扱う事が出来ます。
つまりURLや画像を受け渡したい場合は、items
という変数にURLや画像の情報も一緒に入れてやればいいだけです。
UIActivityViewControllerにURLと画像を渡して表示
UIActivityViewControllerに情報を渡して表示するには、以下のように記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@IBAction func pushActivityButton(sender: AnyObject) { let text = "sample text" let sampleUrl = NSURL(string: "http://www.apple.com/")! let image = UIImage(named: "dog.jpg")! let items = [text, sampleUrl, image] // UIActivityViewControllerをインスタンス化 let activityVc = UIActivityViewController(activityItems: items, applicationActivities: nil) // UIAcitivityViewControllerを表示 self.presentViewController(activityVc, animated: true, completion: nil) } |
先ほどのコードに2行追加して終わり!
追加したのはハイライトしてある4,5行目です。
これを実行し今度はFacebookのアイコンをクリックしてみると
うん、よく見たことのあるような画面ですね!
そして、きちんとURLと画像が設定されているのが分かるかと思います。
あとがき
今回はUIActivityViewControllerの使い方を見てきました。
SNSでシェアする事はどんなアプリでも良く使うと思うので、是非皆さんもUIActivityViewController使ってシェア出来るようにしましょう!
ではでは
今回はこの辺で!ヽ(•̀ω•́ )ゝ✧