标签: uiactivityviewcontroller

UIActivityViewController发送html邮件ios6

我正在使用UIActivityViewController与我的iphone应用程序共享图片和文本.

我使用本教程自定义不同服务的文本:

https://www.albertopasca.it/whiletrue/objective-c-custom-uiactivityviewcontroller-icons-and-text/

每件事都很完美,但我需要html来格式化邮件.

我没有找到任何方法用html格式化代码,我有html标签...

有没有办法通过带有html格式的UIActivityViewController发送邮件?我不想要纯文本

iphone objective-c ios6 uiactivityviewcontroller

10
推荐指数
1
解决办法
3690
查看次数

使用UIActivityViewController附加本地视频

我正在编写一个拥有本地保存视频(.mov)的iOS应用程序.我正试图通过UIActivityViewController附加视频.它适用于电子邮件.视频已成功附加和发送.保存到相机胶卷时也可以使用.
附加到Messages时它不起作用.仅显示文本.Twitter和Facebook甚至都没有出现.当我删除视频附件时,Twitter和Facebook终于开始显示.我真的不太关心消息,但有人能告诉我Facebook和Twitter没有出现的原因吗?

继承我的代码:

- (IBAction) shareVideo {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *URL = [documentsDirectory stringByAppendingPathComponent:demoName];

    NSString* someText = demoName;
    NSURL *urlToShare = [NSURL fileURLWithPath:URL isDirectory:NO];
    NSArray* dataToShare = @[someText, urlToShare];

    UIActivityViewController* activityViewController =
    [[UIActivityViewController alloc] initWithActivityItems:dataToShare
                                      applicationActivities:nil];
    activityViewController.excludedActivityTypes = @[UIActivityTypePrint,UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact];

    activityViewController.completionHandler = ^(NSString *activityType, BOOL completed) {
        //if (completed) {
        [self dismissViewControllerAnimated:YES completion:nil];
        //}
    };

    [self presentViewController:activityViewController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

iphone video attachment ios uiactivityviewcontroller

10
推荐指数
2
解决办法
9585
查看次数

向UIActivityViewController添加一个明显的(自定义)按钮

我只想添加一个明显的按钮"在Safari中打开"如何以简单的方式完成它.

#pragma mark - Share the link
- (IBAction)activityButtonPressed:(id)sender {


    NSString *textToShare = @"I just shared this from my App";
   // UIImage *imageToShare = [UIImage imageNamed:@"Image.png"];
    NSURL *urlToShare = [NSURL URLWithString:@"http://www.google.com"];
    NSArray *activityItems = [NSArray arrayWithObjects:textToShare, urlToShare,nil];
    UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:Nil];
    //This is an array of excluded activities to appear on the UIActivityViewController
    //activityVC.excludedActivityTypes = @[UIActivityTypeMessage, UIActivityTypeCopyToPasteboard,UIActivityTypeSaveToCameraRoll];
    [self presentViewController:activityVC animated:TRUE completion:nil];


}
Run Code Online (Sandbox Code Playgroud)

objective-c ipad ios uiactivityviewcontroller

10
推荐指数
1
解决办法
5209
查看次数

使用UIActivityViewController控制UIImage的文件名

我正在分享一张图片,还有一个网址和一些文字UIActivityViewController.一切都很好,除了图像文件名总是'Image-1'没有扩展名.在某些情况下,这会导致一个大问题,例如邮件应用程序在没有扩展名的情况下无法打开图像.

图像由应用程序生成,并作为一个存在UIImage.

有没有办法控制文件名并为图像添加正确的扩展名?

uikit uiimage ios uiactivityviewcontroller

10
推荐指数
1
解决办法
2194
查看次数

模态未设置的UINavigationBar外观

我在appDelegate中使用以下代码在我的应用程序中设置我的UINavigationBar和状态栏的外观:

[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Run Code Online (Sandbox Code Playgroud)

此代码正确地将所有内容的外观设置为白色,除非阻止第三方模式viewController,例如来自Dropbox API或来自UIActivityViewController的Mail/Message viewController.我已经包含了一些屏幕截图来展示它们的外观.

UIActivityViewController邮件: UIActivityViewController邮件

UIActivityViewController消息: UIActivityViewController消息

Dropbox API: Dropbox API

我试过把它放进去

[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor whiteColor]}];
Run Code Online (Sandbox Code Playgroud)

以及

[[UINavigationBar appearanceWhenContainedIn:[UIActivityViewController class], nil] setTintColor:[UIColor whiteColor]];
Run Code Online (Sandbox Code Playgroud)

而且没有人在工作.

uinavigationbar ios uiappearance uiactivityviewcontroller

10
推荐指数
1
解决办法
3425
查看次数

UIActivityViewController在设置中没有Facebook帐户时

我正在使用UIActivityViewController,我想显示Facebook选项,即使用户没有在设备设置中定义Facebook帐户.

在我的代码中,当设置中没有Facebook帐户时,Facebook选项未显示.

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:itemsToShare applicationActivities:nil];
[self presentViewController:activityVC animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

但是,在Safari或更多应用程序中有Facebook选项,当点击它时 - 会显示一个警告,其中显示"没有facebbok帐户"标题,并显示"转到设置"消息.

有没有办法像这样添加Facebook或者只为苹果应用程序添加这个?

没有Facebook帐户

facebook ios facebook-ios-sdk uiactivityviewcontroller

10
推荐指数
1
解决办法
1562
查看次数

目前UIActivityViewController- LaunchServices:invalidationHandler被调用

我已经在这里这里查看了相关的问题,并且我已经实现了建议的答案但无济于事.

我在UIToolbar上有一个UIBarButtonItem,发送操作的连接到btnTBAction_touch:

在ViewController的类头中,我有:

@property (nonatomic, strong) UIActivityViewController *activityViewController;
Run Code Online (Sandbox Code Playgroud)

类实现中的相关方法:

- (IBAction)btnTBAction_touch:(id)sender {
    NSString *string = @"Some string";
    NSURL *url = [[NSURL alloc] initWithString:@"http://www.google.com"];
    UIImage *image = [UIImage imageNamed:@"default.png"];
    self.activityViewController = [[UIActivityViewController alloc] 
        initWithActivityItems:@[string, url, image] applicationActivities:nil];

    if ([self.activityViewController respondsToSelector:@selector(popoverPresentationController)])
    {
        UIPopoverPresentationController *presentationController = [self.activityViewController
            popoverPresentationController];
        presentationController.sourceView = sender;
    }

    [self presentViewController:self.activityViewController animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

当我触摸调用上述方法的按钮时,在物理设备上以调试模式运行时,我在调试控制台中获得以下内容

2014-09-19 09:43:31.635 TestApp[1878:237873] LaunchServices: invalidationHandler called
2014-09-19 09:43:31.644 TestApp[1878:237814] LaunchServices: invalidationHandler called
Run Code Online (Sandbox Code Playgroud)

但是,与相关问题不同,我的应用程序在发生这种情况时不会崩溃,应用程序继续正常运行并且UIActivityViewController正确显示...但我宁愿修复错误而不是说它已经足够好了.

另外,我尝试使用以下方法对上述方法进行了一些排列:

presentationController.sourceView = self.view;

presentationController.sourceRect = self.view.frame;
Run Code Online (Sandbox Code Playgroud)

这些都没有帮助解决问题. …

iphone objective-c ios uiactivityviewcontroller

10
推荐指数
1
解决办法
6751
查看次数

Notes的UIActivityType是什么?

我试图从我的UIActivityType中排除所有服务,除了电子邮件和短信.我使用以下声明:

activityController.excludedActivityTypes = @[UIActivityTypeAddToReadingList,UIActivityTypeAirDrop,UIActivityTypeAssignToContact,UIActivityTypeCopyToPasteboard,
                                                     UIActivityTypePostToFacebook,UIActivityTypePostToFlickr,UIActivityTypePostToTencentWeibo,UIActivityTypePostToTwitter,
                                                     UIActivityTypePostToVimeo,UIActivityTypePostToWeibo,UIActivityTypePrint,UIActivityTypeSaveToCameraRoll];
Run Code Online (Sandbox Code Playgroud)

在iOS 9下,我注意到还有一些名为"Notes"的东西也出现了.我查看了Apple文档以及自动完成功能,但找不到引用Notes的条目.我该如何排除它?

uiactivityviewcontroller ios9

10
推荐指数
0
解决办法
1727
查看次数

UIActivityViewController图像共享不适用于Whatsapp

当我Whatsapp使用UIActivityViewController我正在收到警报时,我正在向app 分享图像数据:

此项目无法共享.请选择其他项目.

我能够将图像数据共享给所有其他应用程序,除了Whatsapp,是否有人遇到过这样的问题?或者任何人都可以帮我解决这个问题.

如果有人想检查代码,那么如果需要,评论将分享.

ios whatsapp uiactivityviewcontroller swift

9
推荐指数
1
解决办法
2296
查看次数

使用UIActivityViewController共享内容后的空白屏幕

我使用以下代码分享一些内容

var textToShare = "Test"
let activityVC = UIActivityViewController(activityItems: [textToShare], applicationActivities: nil)
activityVC.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact]

presentViewController(activityVC, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

但是,当我按下取消按钮或成功共享内容时,应用程序显示一个空白屏幕.

如何解决这个问题?

更新:

当我为共享目标选择邮件或短信应用程序时,就会出现空白屏幕,对于电报,Twitter和Facebook,它是完美的.

我评论了生命周期方法中的所有代码,仍然是同样的问题.

override func viewDidAppear(animated: Bool)
{
    //setControlsAreHidden(true)
}

override func viewWillAppear(animated: Bool)
{
    //if dataAddedToView
    //{
    //     activityIndicator?.removeFromSuperview()
    //}

}

override func viewWillDisappear(animated: Bool)
{
    //setControlsAreHidden(false)
}
Run Code Online (Sandbox Code Playgroud)

ios uiactivityviewcontroller swift

9
推荐指数
1
解决办法
1133
查看次数