标签: uiactivity

UIActivity activityViewController不会在iPad上解散

我有一个UIActivity创建自己的子类activityViewController:

- (UIViewController *)activityViewController {
    WSLInProgressViewController* progressView = [[[WSLInProgressViewController alloc] init] autorelease];
    progressView.message = [NSString stringWithFormat:NSLocalizedString(@"Posting to %@...",@"Posting to..."),
                        self.activityType];

    return progressView;
}
Run Code Online (Sandbox Code Playgroud)

在GitHub上添加了一个完整的repro.


根据文档,您不应该手动解雇.相反,操作系统会在您打电话时执行此操作activityDidFinish:.这在iPhone上运行时工作正常.

当我说"工作"时,这是我期待的事件序列(并在iPhone上看到):

  1. 显示 UIActivityViewController
  2. 用户按下我的自定义活动
  3. 我的视图控制器出现
  4. 我打电话 activityDidFinish:
  5. 我的自定义视图控制器被关闭
  6. UIActivityViewController还驳回

但是,当我在iPad模拟器上运行相同的代码时 - 唯一的区别是我把它UIActivityViewController放在弹出窗口中,正如文档所说的那样 - activityViewController永远不会解散.

正如我所说,这是代码wo/popUP在iPhone上工作,我已经逐步完成了代码,所以我知道它activityDidFinish:正在被调用.

我发现这个雷达iOS6beta 3中讨论了相同的问题,但它似乎是我怀疑我的代码而不是操作系统中的错误的基本功能(也注意它与Twitter和Facebook功能正常工作!).


我错过了什么吗?当activityViewController运行时,我是否需要在activityViewController中做一些特别的事情UIPopoverViewController?iPad上的"流量" 应该是不同的吗?

ipad ios6 uiactivity

9
推荐指数
3
解决办法
3565
查看次数

覆盖UIActivityViewController的默认行为

在iPhone上的"照片"应用程序中,当您选择"邮件共享"选项时,照片会动画进入向上滑动的模态视图控制器.如何修改内置UIActivities的行为?例如,我希望能够设置邮件编辑器的主题字段.

ios ios6 uiactivity

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

如何取消UIActivityItemProvider并且不显示活动?

我正在使用UIActivityItemProvider子类来提供自定义数据.但有时获取数据失败,我不想提供活动(例如消息编写器).尝试[self cancel]return nil;item方法中,但消息编写器仍然显示(带有空消息).

nsoperation uiactivity uiactivityviewcontroller

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

UIActivity自定义共享,触摸更多按钮时不显示缩略图图标

我的应用程序支持iOS 7+,我使用UIActivity图像大小:iPhone为60pt,iOS为iPad为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: …
Run Code Online (Sandbox Code Playgroud)

iphone share ios uiactivity uiactivitycategory

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

向UIActivityController添加自定义活动时出现问题

我正在尝试对标准活动(打印,邮件,FaceBook等)实施自定义活动,但现在只需要标准打印(用于AirPrint)和我自己的直接方法自定义打印.我显然缺少一些基本的东西,因为我的自定义类中的方法都没有被调用.现在我只有一些NSLog语句来确定调用序列,并使框架运行.

以下是我的自定义活动类的测试代码:

//  PrintActivity.h

#import <UIKit/UIKit.h>

@interface PrintActivity : UIActivity

@end
Run Code Online (Sandbox Code Playgroud)

还有他们

#import "PrintActivity.h"

@interface PrintActivity ()
@property (nonatomic, strong) UIWebView *dummyWebView;
@end

@implementation PrintActivity

- (NSString *)activityType {
    NSLog(@"activityType");
    return @"MetriScan Print";
}

- (NSString *)activityTitle {
    NSLog(@"activityTitle");
    return @"MetriScan\nPrint";
}

- (UIImage *)activityImage {
    NSLog(@"activityImage");
    UIImage *icon = [UIImage imageNamed:@"metriscan_57_c2a_3.png"];
    return icon;
}

- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems {
    NSLog(@"canPerformWithActivityItems");
    return YES;
}

- (void)prepareWithActivityItems:(NSArray *)activityItems {
    NSLog(@"prepareWithActivityItems");
}

- (void)performActivity {
    NSLog(@"Do the actual printing here");
// My custom …
Run Code Online (Sandbox Code Playgroud)

ios android-activity uiactivity

8
推荐指数
1
解决办法
1万
查看次数

iOS 8自定义UIActivity图像黑色背景色

我想自定义添加UIActivity类型UIActivityCategoryActionUIActivityController.但是在iOS 8中,所有这些都出现在黑色背景下.

有没有办法改变这个?

cocoa-touch uiactivity uiactivityviewcontroller ios8

8
推荐指数
1
解决办法
4618
查看次数

iOS 8上的UIActivityViewController显示带有自定义活动的"更多"按钮

现在XCode 6带有iOS 8 SDK,我们可以谈谈这些东西.我尝试在iOS 7上使用UIActivityViewController进行自定义活动,一切正常.但是在iOS 8上,当显示自定义活动时,旁边会有"更多"按钮,单击此按钮会显示完全相同的自定义活动.有没有人找到解决方法来删除此按钮?我找不到任何解决方案了.

Redundant More按钮

ios uiactivity uiactivityviewcontroller ios8

8
推荐指数
1
解决办法
3299
查看次数

iOS 8 UIActivity:禁用特定的第三方共享者?

我正在使用iOS 8中的UIActivityViewController.我已经构建了一个自定义的Pinterest共享机制,它在iOS 7中运行得非常好 - 特别是它将一个图像上传到我的服务器,然后创建一个带有该图像的Pin和一个我的URL指定.这是所需的功能.

现在,在iOS 8的,Pinterest的实施了自己的共享资源,它接受任何一个URL 图像.如果活动项目列表中包含URL,则共享者弹出并询问用户他/她想要从该URL的页面共享哪个图像,并完全忽略同样位于活动项目列表中的图像.如果没有URL,只有图像,则上传的图钉不包含URL.

为了解决这个问题,我需要做以下事情之一:

  1. 禁止Pinterest的共享者出现在列表中,因此我的自定义共享者可以显示出来;
  2. 以某种方式使用Pinterest的共享者在图像的引脚内指定源URL(我怀疑这是可能的);
  3. 从生成的网页中删除所有其他图像.我真的不愿意这样做.

或者,如果一切都失败了,这将是有用的,至少能够检测,如果用户选择了在他们的列表中显示Pinterest的的共享者.

有谁知道有没有办法实现这些东西?

ios pinterest uiactivity uiactivityviewcontroller ios8

8
推荐指数
1
解决办法
756
查看次数

未调用ios 8完成块

在我的应用程序中,我使用TTOpenInAppActivity在UIActivityController中插入"Open in"动作.里面它的工作原理如下:

一些视图控制器呈现UIActivityController,内置TTOpenInActivity.

-(void)openWithAction
{
    NSURL *fileURL = SOME_URL;
    CGRect rect = SOME_RECT;
    TTOpenInAppActivity *openInAppActivity = [[TTOpenInAppActivity alloc] initWithView:self.view andRect:rect];
    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[fileURL] applicationActivities:@[openInAppActivity]];

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
        // Store reference to superview (UIActionSheet) to allow dismissal
        openInAppActivity.superViewController = activityViewController;
        // Show UIActivityViewController
        [self presentViewController:activityViewController animated:YES completion:NULL];
    } else {
        // code for iPad, irrelevant
    }
}
Run Code Online (Sandbox Code Playgroud)

当用户点击"打开"按钮时,将触发以下方法:

- (void)performActivity
{
    if(!self.superViewController){
        [self activityDidFinish:YES];
        return;
    }

    // Dismiss activity view
    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
        // iPhone dismiss UIActivityViewController
        [self.superViewController …
Run Code Online (Sandbox Code Playgroud)

ios uiactivity uiactivityviewcontroller ios8 completion-block

8
推荐指数
1
解决办法
3647
查看次数

UIActivityViewController和UIDocumentInteractionController

如何组合UIActivityViewController和UIDocumentInteractionController?Mail应用程序和Tumblr应用程序似乎使用UIDocumentInteractionController来编译UIActivityViewController,因为它们的控制器还显示除了UIActivities之外的"Open in"按钮.我怎么能做到这一点?

cocoa-touch sharing ios uiactivity uiactivityviewcontroller

7
推荐指数
1
解决办法
1413
查看次数