如何在uiactivitycontroller中仅显示特定的UIactivity项目

时间:2017-06-19 18:26:19

标签: ios objective-c swift uiactivityviewcontroller uiactivity

我想在uiactivitycontroller中只显示邮件,imessages和whatsapp 排除活动类型仅排除默认类型并显示其他类型。

有没有办法只显示上面提到的活动。

提前致谢

1 个答案:

答案 0 :(得分:0)

只需将名为 shouldExcludeActivityType 的方法添加到 UIActivityViewController ,然后返回 false ,即可显示要显示的活动项目其他项目返回true

import UIKit

class MyActivityViewController: UIActivityViewController {

    func _shouldExcludeActivityType(activity: UIActivity) -> Bool {
        let activityTypesToExclude = [
        "com.apple.mail",
        "com.apple.iMesaage",
         "Whatsapp bundle id"
        ]

        if let actType = activity.activityType() {
            if activityTypesToExclude.contains(actType)       {
                return false
            }
        }
        return true
    }

}