シェアシート内のこれら。
こっちの灰色な方を独自実装する方法。Tumblrだと不適切としてフラグを付ける
が、ここに独自で作られて入ってる。そんなUIActivityをSwiftで実装する方法。
まず、UIActivityを継承したクラスを作って、いくつかのメソッドをオーバライドする。
class CustomAlertsActivity: UIActivity {
override func activityTitle() -> String? {
return "アクティビティの名前"
}
override func activityImage() -> UIImage? {
return UIImage(named: "ImageName")
}
override func activityType() -> String? {
return "com.example.myapp"
}
override func canPerformWithActivityItems(activityItems: [AnyObject]) -> Bool {
return true
}
override func prepareWithActivityItems(activityItems: [AnyObject]) {
}
}
使う時はこうやって書く。
let string: String = "なんらかのテキスト"
let url: NSURL = NSURL(string: "http://www.example.com/")!
let activityItems: [AnyObject] = [
string,
url
]
let applicationActivities = [
CustomActivity()
]
let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: applicationActivities)
let excludedActivityTypes = [
UIActivityTypePrint,
UIActivityTypeAssignToContact
]
activityViewController.excludedActivityTypes = excludedActivityTypes
presentViewController(activityViewController, animated: true, completion: nil)
簡単。