是否可以覆盖由UIActivityViewController使用的内置UIActivity类型执行的活动?
例如,我希望Facebook活动使用我自己的自定义视图而不是内置视图.我知道您可以将UIActivity子类化为自己的应用程序特定活动,但是您是否始终坚持内置的默认行为?
我遇到了UIActivityViewController的问题,每次用户按下"共享"按钮时我都会实例化一个新实例,但它不能正常旋转.我的代码缺少必要的东西吗?
当我只旋转状态栏并且UIActivityViewController将旋转(而不是后台中的视图)时,有时activityView的大小也会出错.
UIActivityViewController *activityVC;
// Init sharing items and View Controller
NSString *message = [NSString stringWithFormat:@""];
UIImage *imageToShare = [UIImage imageNamed:@"imageName"];
NSArray *postItems = @[message, imageToShare];
activityVC = [[UIActivityViewController alloc]
initWithActivityItems:postItems
applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:^() {
[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
// Completed
}];
}];
Run Code Online (Sandbox Code Playgroud) 由于completionHandleron UIActivityViewControlleriOS在iOS 8中已弃用,有没有办法确定用户使用哪个共享扩展/活动?
我有一个PDF文件保存在文档目录中.该文件的路径存储在NSString属性"self.URL"中.这是我提供活动项目的代码:
-(void)presentDocumentInteractionController{
self.docController = [UIDocumentInteractionController interactionControllerWithURL:self.URL];
self.docController.delegate = self;
[_docController setUTI:@"com.adobe.pdf"];
[_docController presentOptionsMenuFromBarButtonItem:self.activityBarButton animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
在iOS 8之前,这段代码运行良好.向用户呈现了诸如打印,复印和电子邮件之类的项目列表以供选择.升级到iOS 8/XCode 6之后,我收到了这个运行时错误(它没有崩溃应用程序):
Unknown activity items supplied: (
"<UITextViewPrintFormatter: 0x7f908ba53ca0>"
)
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
objective-c ios uidocumentinteraction uiactivityviewcontroller
我UIActivityViewController用来通过电子邮件分享信息.我们能够发送带有正文,附件的电子邮件,没有任何问题.但是我们如何设置电子邮件的主题标题.
我注意到这个问题:如何在UIActivityViewController中设置邮件主题?
接受的解决方案是使用UIActivityItemSource以下API activityViewController:subjectForActivityType : . 但是,我们的代码不符合,UIActivityItemSource因为我们正在使用UIActivityItemProvider.
UIActivityItemSource
在那里,你想从你的应用程序的现有对象而不是创建一个单独的UIActivityItemProvider对象的一个提供数据您可以使用情况下,这种协议.
所以完整的问题是:
如果我使用UIActivityItemProvider而不是UIActivityItemSource,如何设置电子邮件主题?
我正在尝试将共享功能链接到我的swift应用程序中但是遇到了问题.我正在使用UIActivityViewController来共享图像和文本,但唯一可用的选项是:

我想要Facebook,Twitter和Whatsapp的选项(以及其余的!)但我无法弄清楚我做错了什么.
我也尝试过其他代码/源代码项目,但我遇到了同样的问题,但是如果我在设备上进行safari,它会在共享表上提供缺少的社交媒体选项.
这是我的代码:
func shareTextImageAndURL(#sharingText: String?, sharingImage: UIImage?, sharingURL: NSURL?) {
var sharingItems = [AnyObject]()
if let text = sharingText {
sharingItems.append(text)
}
if let image = sharingImage {
sharingItems.append(image)
}
if let url = sharingURL {
sharingItems.append(url)
}
let activityViewController = UIActivityViewController(activityItems: sharingItems, applicationActivities: nil)
activityViewController.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList]
if(activityViewController.popoverPresentationController != nil) {
activityViewController.popoverPresentationController?.sourceView = self.view;
var frame = UIScreen.mainScreen().bounds
// frame.height = frame.height / 2
var newFrame = CGRect(x: frame.origin.x, y: frame.origin.y, width: frame.width, height: frame.height / …Run Code Online (Sandbox Code Playgroud) 我正在制作用于图像发送和下载的聊天应用程序.我想在WhatsApp中做一些动画.那么,如何显示模糊的图像?我的图像是从服务器下载的.请帮我.
我无法在UIActivityViewController中看到任何项目.我想将音频文件分享到iPhone设备中的可用共享选项.
我正在使用UIActivityViewController共享文本,并且从列出的选项中选择"消息"时,我的屏幕显示如下,

但是在右侧栏按钮上有一个取消按钮,它是我在AppDelegate中指定的白色.
这里的问题是我无法更新NavigationBar颜色.
我试过如下,没有一个是有用的,
let activityVC = UIActivityViewController(activityItems: contents, applicationActivities: nil)
present(activityVC, animated: true) {
activityVC.navigationController?.navigationBar.backgroundColor = UIColor.green
activityVC.navigationController?.navigationBar.tintColor = UIColor.red
MYAppDelegate.customise()
}
Run Code Online (Sandbox Code Playgroud)
要么
let activityVC = UIActivityViewController(activityItems: contents, applicationActivities: nil)
present(activityVC, animated: true) {
UINavigationBar.appearance().barTintColor = UIColor.red
UINavigationBar.appearance().tintColor = UIColor.white
let navigationTextAttributes = [NSForegroundColorAttributeName : UIColor.white]
UINavigationBar.appearance().titleTextAttributes = navigationTextAttributes
UIBarButtonItem.appearance().setTitleTextAttributes(navigationTextAttributes, for: .normal)
UIBarButtonItem.appearance().tintColor = UIColor.white
}
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我正试图通过标准iOS共享屏幕将我的(统一)应用程序的gif共享到社交网络.
由于这个问题,我首先将路径包装到NSURL中的gif,然后再将其发送到UIActivityViewController:
NSURL *nsGifURL = [NSURL fileURLWithPath:nsGifPath];
NSArray *itemsToShare = @[nsMessage, nsGifURL];
// find the unity window:
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIActivityViewController *share = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
[window.rootViewController presentViewController:share animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
这一切都编译并运行没有错误,但是当我到达另一个应用程序时,图像是静态的而不是gif.
如何让fb之类的应用接受并在另一端显示gif?
编辑:nsGifPath肯定有.gif扩展名
ios ×10
objective-c ×4
chat ×1
cocoa-touch ×1
email ×1
facebook ×1
gif ×1
image ×1
ios8 ×1
iphone ×1
share ×1
swift ×1
swift3 ×1
uiactivity ×1