【问题标题】:Copy Link Button in UIActivityViewControllerUIActivityViewController 中的复制链接按钮
【发布时间】:2013-12-29 17:49:54
【问题描述】:

我是否缺少创建“复制链接”按钮的服务或参数,如 Apple 的 12 天应用程序中所示?

我可以通过允许显示“复制”按钮

UIActivityTypeCopyToPasteboard

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

NSURL *activityURL = [NSURL URLWithString:@"http://www.mylink.com/"];

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

感谢您的任何见解。

【问题讨论】:

    标签: ios ios6 ios7 uiactivityviewcontroller uiactivity


    【解决方案1】:

    我知道这是旧线程。这是答案。子类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)
    }
    

    【讨论】:

      【解决方案2】:

      不幸的是,由于活动视图控制器处理显示选项的方式,您必须创建自己的子类。 :\

      【讨论】:

      • 您对子类的如何what有任何链接或建议吗?
      • 抱歉,我特别问的是 Copy 活动的子类化。子类化UIActivity 我必须复制整个复制到粘贴板的行为和图标选择,而我只想覆盖现有活动的属性之一:它是可见文本。有没有一种 clean 的方法,还是我必须全部手动完成?谢谢,詹姆斯 :)
      • 啊,对不起。不幸的是,它是一个私有类,因此您必须重新创建它:/ 至少这是私有类定义:github.com/MP0w/iOS-Headers/blob/…
      猜你喜欢
      • 1970-01-01
      • 2017-11-03
      • 2021-11-26
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多