标签: uiactivityviewcontroller

UIActivityViewController需要很长时间才能呈现

我为iPhone制作了一个应用程序.现在,我正在为iPad重新创建它.

当用户选择工具栏中的操作按钮时,弹出窗口应显示a UIActivityViewController,但由于某种原因,它需要大约10秒才能显示第一次.在iPhone上,它需要大约一秒钟.除了弹出框之外,它是相同的代码.

我尝试禁用弹出窗口,但仍需要大约10秒才能显示.

这是代码:

-(IBAction)Actions:(UIBarButtonItem*)sender 
{
    if ([activityPopover isPopoverVisible] == YES) 
    {
        [activityPopover dismissPopoverAnimated:YES];
        return;
    }
    UIWebView *currentWebView = ((TabView *)self.tabs[self.currentTabIndex]).webViewObject;

    NSString *currentURL = (NSString*)[currentWebView request].mainDocumentURL;
    if (currentURL == NULL) return;

    BookmarkActivity *bookmarkActivity = [[BookmarkActivity alloc] init];

    UIActivityViewController *sharing = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObject:currentURL] applicationActivities:@[bookmarkActivity]];

    activityPopover = [[UIPopoverController alloc] initWithContentViewController:sharing];
    [activityPopover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];    
}
Run Code Online (Sandbox Code Playgroud)

我已经在我的iPad 3和我的iPad mini上进行了测试,两者都需要一段时间来呈现.

我该如何解决这个问题?

objective-c uipopovercontroller ios uiactivityviewcontroller

17
推荐指数
3
解决办法
6251
查看次数

iOS 7中UIActivityViewControllers的模态状态栏和导航栏文本颜色

当我使用a时UIActivityViewController,在用户选择活动(例如Mail或Message)后,我无法更改状态栏的文本颜色,也无法更改"取消"和"发送"导航栏按钮的文本/色调颜色.对于条形按钮,在AppDelegate我尝试过使用:

    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
Run Code Online (Sandbox Code Playgroud)

没有任何反应.但是我可以用这个设置导航栏标题:

    [[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], UITextAttributeTextColor, nil]];
Run Code Online (Sandbox Code Playgroud)

我设置UIViewControllerBasedStatusBarAppearanceNOInfo.plist.并把线:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Run Code Online (Sandbox Code Playgroud)

AppDelegate,并没有运气改变状态栏颜色.有任何想法吗?

textcolor uinavigationbar tintcolor uiactivityviewcontroller ios7

17
推荐指数
2
解决办法
7685
查看次数

Facebook没有在UIActivityViewController中显示,但是Twitter也没有

我的iOS是8.1.2,我正在使用UIActivityViewController进行社交分享.我点击一个按钮,让UIActivityViewController出现

- (IBAction)UIActivityTypeButtonClick:(id)sender {

NSString* text=@"I am sharing this text";
NSArray* sharedArray=@[text];
UIActivityViewController * activityVC=[[UIActivityViewController alloc]initWithActivityItems:sharedArray applicationActivities:nil];
activityVC.excludedActivityTypes=@[];
[self presentViewController:activityVC animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

我得到了这个

在此输入图像描述

我收到消息,Twitter,邮件,WhatsApp更多按钮.
单击更多我得到这个.

在此输入图像描述FACEBOOK 在哪里.我在我的iPhone上有facebook应用程序,并且在设置中也设置了我的ID.但Facebook永远不会出现在这里.Twitter确实如此.这是一个错误还是什么?请建议

谢谢

facebook objective-c ios uiactivityviewcontroller ios8

16
推荐指数
1
解决办法
9707
查看次数

从 SwiftUI 视图呈现 UIActivityViewController

我正在尝试UIActivityViewController从 SwiftUI 视图中呈现(共享表)。我创建了一个名为ShareSheetconformed to的视图UIViewControllerRepresentable来配置UIActivityViewController.

struct ShareSheet: UIViewControllerRepresentable {
    typealias UIViewControllerType = UIActivityViewController

    var sharing: [Any]

    func makeUIViewController(context: UIViewControllerRepresentableContext<ShareSheet>) -> UIActivityViewController {
        UIActivityViewController(activityItems: sharing, applicationActivities: nil)
    }

    func updateUIViewController(_ uiViewController: UIActivityViewController, context: UIViewControllerRepresentableContext<ShareSheet>) {

    }
}
Run Code Online (Sandbox Code Playgroud)

通过天真​​地这样做.sheet会导致以下情况。

.sheet(isPresented: $showShareSheet) {
    ShareSheet(sharing: [URL(string: "https://example.com")!])
}
Run Code Online (Sandbox Code Playgroud)

失败的控制器演示的屏幕截图

有没有办法像通常呈现的那样呈现这个?比如覆盖一半的屏幕?

ios uiactivityviewcontroller swift swiftui

16
推荐指数
3
解决办法
3357
查看次数

UIActivityViewController认为我的jpg是按文件URL共享时的视频

我有保存在Documents目录中的jpg文件,可以从标准UIActivityViewController共享.所有活动项目(包括"保存图像")都按预期工作,但是当点击"保存图像"时,控制台中会显示以下错误,尽管事实上jpg确实已保存到相机胶卷.

这是iOS中的错误,还是我必须以某种方式指定我的文件是文件URL中的jpg(而不是视频)?

2015-07-29 06:46:58.317 AppName [4658:893408]视频/var/mobile/Containers/Data/Application/A63DF08E-21D0-435D-A0D7-84D73D632FC9/Documents/ImageStore/805/23.jpg无法保存到保存的相册:错误域= AVFoundationErrorDomain代码= -11828"无法打开"UserInfo = 0x1702e8b80 {NSLocalizedFailureReason =不支持此媒体格式.,NSLocalizedDescription =无法打开,NSURL = file:/// var/mobile/Containers /数据/应用/ A63DF08E-21D0-435D-A0D7-84D73D632FC9/Documents/ImageStore/805/23.jpg,NSUnderlyingError = 0x170c4f9f0"操作无法完成.(OSStatus error -12847.)"}

这是我正在使用的代码:

NSURL *fileURL = [NSURL fileURLWithPath: [...path to my file...] isDirectory:NO];
UIActivityViewController *activityViewController = [[UIActivityViewController    alloc] initWithActivityItems:@[fileURL] applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard, UIActivityTypePrint, UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo];
[self presentViewController:activityViewController animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

iphone uiimage ios uiactivity uiactivityviewcontroller

15
推荐指数
1
解决办法
1012
查看次数

如何在UIActivityViewController中向Activity活动栏添加ActivityItem?

我喜欢将自己的WhatsApp添加ActivityItemUIActivityViewController,但它总是添加到较低的非彩色活动栏,但我喜欢将它添加到上部栏,带有彩色项目的栏.

那是我使用的代码:

WhatsApp *whatsApp = [[WhatsApp alloc] init];
            UIActivityViewController* activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[image, text] applicationActivities:@[whatsApp]];
Run Code Online (Sandbox Code Playgroud)

喜欢.在此输入图像描述

objective-c ios uiactivityviewcontroller ios7

14
推荐指数
1
解决办法
7664
查看次数

Swift UIActivityViewController Image&Url Share不能使用FB

我正在使用UIActivityViewController来共享图像.Facebook最近发生变化后.我可以单独分享图像和Url,但我无法同时共享图像和网址.相同的代码适用于Mail,twitter等.不确定我在Facebook上缺少什么.

func shareImage() {
    var myWebsite = NSURL(string:"http://www.google.com/")
    var img: UIImage = currentPhoto!
    var shareItems:Array = [img, myWebsite]
    let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)
    activityViewController.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo]
    self.presentViewController(activityViewController, animated: true, completion: nil)

}
Run Code Online (Sandbox Code Playgroud)

facebook ios uiactivityviewcontroller swift

14
推荐指数
2
解决办法
2万
查看次数

如何在swift中共享图像和文本?

我试图在swift中分享图像和文本.但是当我选择通过facebook,messenger或whatsapp进行分享时,它只提供文本(图像不共享).我正在使用UIActivityViewController进行共享.

这是我的代码:

func displayShareSheet(latitude:NSString?, longitude:NSString?, image:UIImage?, address:NSString? ) {
    let activityViewController = UIActivityViewController(activityItems: [(latitude as NSString?)!, (longitude as NSString?)!, (image as UIImage?)!, (address as NSString?)!], applicationActivities: nil)
    presentViewController(activityViewController, animated: true, completion: {}
)
}
Run Code Online (Sandbox Code Playgroud)

uiactivityviewcontroller swift swift2

14
推荐指数
1
解决办法
7103
查看次数

UIActivityViewController无法在iOS 11中运行

我正在使用UIActivityViewController来共享文章网址,使用下面的代码,

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:shareItemArray applicationActivities:nil];

activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAirDrop]; 

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

上面的代码在iOS 9和10中工作,但它在iOS 11中不起作用

我调试它,代码执行正常,之后我在控制台中收到错误日志,如下所示

[ShareSheet]错误:等待建立与ShareUI视图服务扩展的连接超时.

有没有人面临这个问题?有解决方法吗?

编辑:清理并运行项目后,我尝试做同样的事情,在UIActivityViewController打开2或3次后,我再次尝试,第一次我得到相同的上述错误,第二次只有UIActivityViewController被打开.

iphone objective-c ios uiactivityviewcontroller xcode9

14
推荐指数
2
解决办法
5441
查看次数

iOS 13 UIActivityViewController automatically present previous VC after image saving

I'm trying to implement “Save image to Library” function and then return back to the current view controller, but on a new iOS 13 it dismisses back to the view controller that presented the current one:

PHPhotoLibrary.requestAuthorization({(_ status: PHAuthorizationStatus) -> Void in })

let shareItems: Array = [newImg,"Hello"] as [Any]

let activityController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil)

if UIDevice.current.userInterfaceIdiom == .pad {
    activityController.popoverPresentationController?.sourceView = saveButton
}

present(activityController, animated: true)
Run Code Online (Sandbox Code Playgroud)

ios uiactivityviewcontroller swift ios13

13
推荐指数
2
解决办法
1833
查看次数