- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我的应用支持 iOS 7+,我使用 UIActivity 图片大小:iPhone 60pt,iPad iOS 76pt,
当触摸更多按钮重新排序项目时,它无法在列表中显示图标。
代码如下:
class ZYShare {
class ActivityItem {
init() {
self.title = ""
self.icon = ""
}
var title: String?
var icon: String?
var type: ShareType = ShareTypeAny
}
class CommonActivity: UIActivity {
lazy var itemInfo = ActivityItem()
override func prepareWithActivityItems(activityItems: [AnyObject]) {
// do something
}
override func canPerformWithActivityItems(activityItems: [AnyObject]) -> Bool {
return true
}
override class func activityCategory() -> UIActivityCategory {
return UIActivityCategory.Action
}
override func activityType() -> String? {
return NSLocalizedString(itemInfo.title ?? "", comment: "")
}
override func activityTitle() -> String? {
return NSLocalizedString(itemInfo.title ?? "", comment: "")
}
override func activityImage() -> UIImage? {
println(itemInfo.icon)
if let icon = itemInfo.icon {
return UIImage(named: icon)
} else {
return nil
}
}
override func performActivity() {
ShareSDK.showShareViewWithType(itemInfo.type
, container: nil
, content: publishContent
, statusBarTips: false
, authOptions: authOptions
, shareOptions: options
, result: handle)
self.activityDidFinish(true)
}
}
class QQActivity: CommonActivity {
override init() {
super.init()
self.itemInfo.icon = "ShareToQQ"
self.itemInfo.title = "QQ"
self.itemInfo.type = ShareTypeQQ
}
}
class WeChatSessionActivity: CommonActivity {
override init() {
super.init()
self.itemInfo.icon = "ShareToWeChat"
self.itemInfo.title = "微信"
self.itemInfo.type = ShareTypeWeixiSession
}
}
class WeChatTimelineActivity: CommonActivity {
override init() {
super.init()
self.itemInfo.icon = "ShareToWeChatTimeLine"
self.itemInfo.title = "朋友圈"
self.itemInfo.type = ShareTypeWeixiTimeline
}
}
class QQSpaceActivity: CommonActivity {
override init() {
super.init()
self.itemInfo.icon = "ShareToQzone"
self.itemInfo.title = "QQ空间"
self.itemInfo.type = ShareTypeQQSpace
}
}
}
最佳答案
很老的问题,但也许解决方案对其他人也有帮助!
在您的UIActivity 子类中实现/覆盖该方法
- (UIImage *)activityImage {
return [UIImage imageNamed:@"Activity Icon"];
}
返回要在 UIActivityViewController 本身中显示的图像(正如您所做的那样)。
除了这个实现/覆盖方法
- (UIImage *)activitySettingsImage {
return [UIImage imageNamed:@"Activity Settings Icon"];
}
返回要在更多/设置 View 中显示的(其他或相同的)图像。
我没有在文档中找到第二种方法,但它不是 UIAction 的“_xx”方法,所以我猜它不是私有(private)的...
关于ios - UIActivity 自定义分享,触摸更多按钮时不显示缩略图图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27455481/
我正在开发一个在detailViewController中显示一些数据的应用程序。我在导航栏中有一个 rightBarButton,它呈现一个 UIActivityViewController,其中填
我希望将 UIActivityController 与标准事件一起使用来共享 UIImage。但是,当用户选择“邮件”时,我想执行自己的逻辑:呈现一个表单以让用户选择几个选项,然后自己撰写电子邮件,以
嘿伙计们,在上一个问题的帮助下,我想我几乎已经完成了这个工作..下面的代码 -(void)viewDidLoad { [super viewDidLoad]; //... all yo
我正在尝试实现自定义 UIActivity,但它不会显示我的图像。这是我要显示的内容: 我制作了 10% 不透明度的“天线和波浪”,以便显示它们。 这是我得到的: 我该如何解决这个问题? “天线和波浪
有没有办法让 UIActivity 显示自定义图片?默认情况下,它创建了金属风格的图标。有什么方法可以禁用它吗? 其次,我可以使用 UIActivity 而不是 UIActionSheet 吗?何时应
亲爱的社区, 一个简单的问题,但还没有明确的答案。 我能否将我的按钮添加到标准 UIActivityController,以便当用户转到照片/笔记/Safari 时,他也可以将其与 twitter/f
我制作了一个服装 UIActivity 类。我喜欢在类里面发送带有附件的电子邮件,但我无法发送电子邮件,也无法展示类里面的任何 ViewController。我试图用这个来呈现 Mail ViewCo
UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0,
我有一个 UIActivity 实现了 activityViewController 方法。一切正常,除非用户快速双击我的事件图标。这会导致重复调用该方法并崩溃: Terminating app du
所以,我写了一个程序那是一个 map 应用程序,允许用户查看那里的位置当他们打开应用程序并双击时,它允许他们放下图钉隐藏的底部 View 显示出来,我想在该 View 中显示图像,因为我将 View
我将 UIActivityViewController 与一些自定义事件一起使用,以成功将图像发送到 DropBox 和 Instagram。有没有一种方法可以使用默认的 UIActivity 在 n
我已将 UIActivityIndicator 的 IBOutlet 添加到自定义单元格,但它并未显示在每个单元格上,仅在前 2-3 个单元格上显示,然后什么都没有。另一件事,当我滚动表格并返回前
如何指定自定义 UIActivity 支持主题? UIActivityItemSource 的文档协议(protocol)提到您可以实现可选的 activityViewController:subje
是否可以覆盖 UIActivityViewController 使用的内置 UIActivity 类型执行的事件? 例如,我希望 Facebook 事件使用我自己的自定义 View 而不是内置 Vie
我刚刚从 swift 2 升级到 swift 3,但在覆盖属性时遇到了一些问题。 在 swift 2 中你可以像这样设置事件类型 override func activityType() -> Str
我的应用支持 iOS 7+,我使用 UIActivity 图片大小:iPhone 60pt,iPad iOS 76pt, 当触摸更多按钮重新排序项目时,它无法在列表中显示图标。 代码如下: class
在我的应用程序中,我有一个带有标题、图像以及经度和纬度的地点对象。您应该能够在 Facebook 上分享这个地点。这是我到目前为止的代码: let textToShare = self.place.p
我尝试在 iOS 中使用事件指示器,但无法。我关注了 Stackoverflow 上的一个帖子并像这样使用它。这是我写的: -(void)viewDidLoad { [NSThread det
已经发布了各种各样的 UIActivities 来为 iOS 中的附加服务提供支持: https://github.com/shu223/UIActivityCollection 为什么还没有发布 F
我正在使用 UIActivityType 共享图像及其描述文本。如果我选择短信共享选项,我需要共享图像的 URL。我怎样才能做到这一点?目前我正在将图像和数据分享到 Facebook 和 Twitte
我是一名优秀的程序员,十分优秀!