Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > 画像やメール共有・保存

画像やメール共有・保存:UIActivityViewController

アプリ内の画像やメールを簡単に第三者に共有できるActivityViewControllerを説明します。海外のサイトのゲーム[The Line]で遊んでいる際にSHAREボタンを押すと以下の様にメッセージやメールを表示する方法を調査しましたので共有いたします。

スクリーンショット:The Line のSHAREボタンクリック後の画面

サンプル構文


//生成
 let firstActivityItem = "I am a test message";//メッセージ
 let secondActivityItem = UIImage(named:"swift-salaryman.png")!;//画像
 let thirdActivityItem = NSURL(string:"http://swift-salaryman.com/")!;//メッセージの後に表示されるURL
        
//上記の要素を追加して表示します
 let activityViewController : UIActivityViewController = UIActivityViewController(activityItems: [firstActivityItem,secondActivityItem,thirdActivityItem], applicationActivities: nil);
 target.presentViewController(activityViewController, animated: true, completion: nil);

上記を実行すれば以下の様なメッセージを送信できます

スクリーンショット:サンプル実行結果画面
参考サイト(英語): UIActivityViewController in Swift

ActivityViewUtil例文

ActivityViewUtil.swiftをダウンロードする。(ご自由にご利用ください)

import UIKit
struct ActivityViewUtil {
    static func showPanel(target:UIViewController, activityItems:[AnyObject]){
        let activityViewController : UIActivityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil);
        target.presentViewController(activityViewController, animated: true, completion: nil);
    }
}

//利用方法
let firstActivityItem = "I am a test message";//メッセージ
let secondActivityItem = UIImage(named:"swift-salaryman.png");//画像
let thirdActivityItem = NSURL(string:"http://swift-salaryman.com/");//メッセージの後に表示されるURL
      
ActivityViewUtil.showPanel(targetViewController, activityItems: [firstActivityItem,secondActivityItem,thirdActivityItem]);

↓こんな記事もありますよ!

Facebook SDKを試してみる(調査)

先日ひょんなところからFacebookSDKの事を教えていただき、興味が足裏からフツフツと湧き出てまいりましたので本日調査してみます。

関数引数の参照渡し Inout

Swiftで参照だけを渡す(呼び出し元の変数の値を変更する)にはどうしたらよいのかな〜と調査していると、関数引数に参照渡しする方法でindexinoutという言葉があることを知りました。紹介いたします

willsetとdidsetでプロパティを監視。意味あるのか???

クラスのプロパティにはWillsetとdidsetという監視用の関数があると聞いたのですが、用途は分かるにしても メリットとしてはどういうものなのかなと、うーん、と考えていました。調べていると海外のサイトでは同じように疑問にもつ質問があがっていました。 getとsetで同じことができるのでは?との私と同じスタンスです。解決されていましたので、順に説明していきます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!