复制 UIActivityViewController 中的链接按钮

Den*_*Vog 1 ios ios6 uiactivity uiactivityviewcontroller ios7

是否有我在创建 Apple 的 12 天应用程序中看到的“复制链接”按钮时缺少的服务或参数?

我可以通过允许出现“复制”按钮

UIActivityTypeCopyToPasteboard
Run Code Online (Sandbox Code Playgroud)

在我的 UIActivityViewController 中,并传递一个 URL

NSURL *activityURL = [NSURL URLWithString:@"http://www.mylink.com/"];
Run Code Online (Sandbox Code Playgroud)

功能正常,但按钮标题是“复制”,不如“复制链接”清晰。我想知道强制此标题是否是我错过的服务选项,或者需要定义自定义活动类型。据我所知,activityTitle 仅在您对服务方法进行子类化时才可用。

感谢您的任何见解。

在此处输入图片说明

DeV*_*nci 5

我知道这是旧线程。这是答案。UIActivity仅在粘贴板中复制其中一项的子类和复制URL是完整的实现。

private var url = NSURL()

override func activityType() -> String? {
    return "com.productHunt.copyLink"
}

override func activityTitle() -> String? {
    return "Copy Link"
}

override func activityImage() -> UIImage? {
    return UIImage(named: "icon-copy")
}

override func canPerformWithActivityItems(activityItems: [AnyObject]) -> Bool {
    for activityItem in activityItems {
        if let _ = activityItem as? NSURL {
            return true
        }
    }

    return false
}

override func prepareWithActivityItems(activityItems: [AnyObject]) {

    for activityItem in activityItems {
        if let url = activityItem as? NSURL {
            self.url = url
        }
    }
}

override func performActivity() {
    UIPasteboard.generalPasteboard().string = url.absoluteString
    activityDidFinish(true)
}
Run Code Online (Sandbox Code Playgroud)