我有UIActivityViewController
4个选项: 邮件/邮件/ TW / FB 。我想为每个选项发送不同的活动!
对于例如:在iMessage
表,我需要把:String
,NSURL
,和UIImage
。在邮件中,我需要将字符串放置在“主题”字段中,然后将“字符串”放置在主体中,UIImage
并且NSURL
也要放置。在TW/FB
我想要放置图像的地方,例如社交文章,也有一些String和NSURL
。
您是否知道在iOS8中使用Swift可以做到这一点?
我搜索了很多代码,但没有找到最适合我的代码。
您应该利用该UIActivityItemSource
协议。activityItems
初始化程序的参数UIActivityViewController
接受一个数据对象数组或一个实现UIActivityItemSource
协议的对象数组。
作为示例,请考虑以下项目来源。
class MyStringItemSource: NSObject, UIActivityItemSource {
@objc func activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController) -> AnyObject {
return ""
}
@objc func activityViewController(activityViewController: UIActivityViewController, itemForActivityType activityType: String) -> AnyObject? {
if activityType == UIActivityTypeMessage {
return "String for message"
} else if activityType == UIActivityTypeMail {
return "String for mail"
} else if activityType == UIActivityTypePostToTwitter {
return "String for twitter"
} else if activityType == UIActivityTypePostToFacebook {
return "String for facebook"
}
return nil
}
func activityViewController(activityViewController: UIActivityViewController, subjectForActivityType activityType: String?) -> String {
if activityType == UIActivityTypeMessage {
return "Subject for message"
} else if activityType == UIActivityTypeMail {
return "Subject for mail"
} else if activityType == UIActivityTypePostToTwitter {
return "Subject for twitter"
} else if activityType == UIActivityTypePostToFacebook {
return "Subject for facebook"
}
return ""
}
func activityViewController(activityViewController: UIActivityViewController, thumbnailImageForActivityType activityType: String!, suggestedSize size: CGSize) -> UIImage! {
if activityType == UIActivityTypeMessage {
return UIImage(named: "thumbnail-for-message")
} else if activityType == UIActivityTypeMail {
return UIImage(named: "thumbnail-for-mail")
} else if activityType == UIActivityTypePostToTwitter {
return UIImage(named: "thumbnail-for-twitter")
} else if activityType == UIActivityTypePostToFacebook {
return UIImage(named: "thumbnail-for-facebook")
}
return UIImage(named: "some-default-thumbnail")
}
}
上面的项目源根据活动类型返回不同的字符串数据对象,主题和缩略图图像。要使用它,您只需要将其传递给UIActivityViewController
初始化程序即可。
UIActivityViewController(activityItems: [MyStringItemSource()], applicationActivities: nil)
同样,您可以定义一个自定义MyUrlItemSource
类,该类根据所选活动返回不同的URL,并将其传递给初始化程序。
UIActivityViewController(activityItems: [MyStringItemSource(), MyUrlItemSource()], applicationActivities: nil)
所有这一切都为官方文档中列出UIActivityViewController
和UIActivityItemSource
我总共有三个活动,我正在为每个活动实现admob,每个活动都有自己的横幅,当活动被改变时,另一个活动挂了一点,因为广告加载在后台,是否有任何方法,一个横幅出现在所有活动时,切换,以避免延迟。
我是Kafka的初来乍到,有一些基本的怀疑。我试着做一个Kafka建立的多节点(主动-主动)。情况如下:- 运行单个zookeeper(端口:2181) 创办了三家Kafka经纪人(9092、9093、9094) 创建单个主题测试(分区:1,复制3) 使用代理列表启动生产者(9092,9093) 在9092、9093、9094上启动了使用者,但它们都在使用相同的主题。 现在我怀疑的是,当我从生产者
问题内容: 我在一个Android项目中使用ORMLite,并且我不想使用扩展活动,因为我是在AsyncTask上将值插入数据库中。 在文档中说: “如果您不想扩展和其他基类,那么您将需要复制它们的功能。您需要在代码的开头进行调用,保存帮助程序并根据需要使用它,然后在你完成了。” 它还说要在中添加数据库帮助程序类。所以我不确定我在做什么错。 我正在使用一个为我的数据层调用的类,如下所示: 我正在使
我正在从事两个不同的项目,都使用不同的maven文件 当我在项目之间切换时,它会重新下载存储库文件夹中的所有maven依赖项,删除以前项目的依赖项 是否有任何方法可以使用两个,并为两个项目维护不同的存储库。
我正在尝试启动一个活动,其中包括捆绑包。我正在尝试将这个捆绑包设置为空,因为还没有任何东西传递给这个活动。 目前,Android系统导致活动崩溃。未找到资源错误 编辑添加错误日志 08-24 10:39:33.180:E/AndroidRuntime(21177):致命异常:main 08-24 10:39:33.180:E/AndroidRuntime(21177):java。lang.Runt