共享rss feed文章的功能

时间:2015-08-24 14:52:44

标签: ios objective-c uibutton rss ios-sharesheet

我的RSS应用程序已基本完成,但我需要在文章的Web视图的右上角有一个“共享”按钮。到目前为止,我已经设置了代码设置,以显示文章标题旁边的“操作”按钮,但由于没有实现实际代码,因此它不会执行任何操作:

enter image description here

我实现了它,它基于用于表视图单元格的代码,其中实现了“刷新”选项,我只是更改了图标。我使用了一个免费的开源项目将这个应用程序放在一起,我有点麻烦,弄清楚如何使该按钮显示从应用程序底部拉出的共享表,如下所示:

enter image description here (来自谷歌的图片)

我试图在导航栏中实现一个按钮,但我不能,因为Web视图覆盖了整个屏幕:

enter image description here

因此,由于我无法将按钮直接放入控制器,因此我必须对其进行编码:

在我的RSSDetail.m类里面的“ - (void)viewDidLoad {”:

self.navigationItem.rightBarButton = [[UIBarButtonItem = [[UIBarButtonItem       
alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemAction target:self   
action@selector(shareButton)]; 

我也在同一个类文件中有这个:

-(void) shareButton { 

  self.webView.userInteractionEnabled = YES; 
  self.webView.aplha = 0.3;  

  } 

正如您所看到的,该类中的一小部分代码将图标放在我想要的位置。但我的问题是,是否有代码我可以实现到我的“ - (void)shareButton”方法,它将实现共享功能?

另外,我需要按钮实际上说“分享”而不是图标,反正我是否可以更改“动作”的代码吧barButton方法允许我输入单词而不是图标?

提前致谢

1 个答案:

答案 0 :(得分:0)

据我了解,您希望实现iOS本机共享功能。以下是实施示例:

- (void)shareButtonPressed {
    // 1
    // If you want to use UIImage, make sure you have image with that name, otherwise it will crash. 
    NSArray *activityItems = @[@"Message to share", [UIImage imageNamed:@"imageToShare"]];

    // 2
    UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];

    // 3
    activityViewController.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard, UIActivityTypeAirDrop, UIActivityTypeAssignToContact, UIActivityTypeAddToReadingList, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll, UIActivityTypeMessage, UIActivityTypeMail];

    // 4
    [activityViewController setCompletionHandler:^(__unused NSString *activityType, __unused BOOL completed){
        // Custom completion implementation
    }];
    [self presentViewController:activityViewController animated:YES completion:NULL];
}

说明

  1. 准备要共享此类字符串,图像,URL的活动项目。
  2. 使用您要共享的项目+自定义活动初始化活动视图控制器(仅在需要时)。 自定义活动意味着您将使用 UIActivity 创建自己的按钮,并使用自己的操作,图片和标题(更多信息here)。例如,实现与没有共享扩展的第三方应用共享。
  3. 您可以在此处指定排除的活动类型。在这个例子中,我删除了复制,空投等所有内容。
  4. 在完成块中,您可以看到选择了哪种activityType以及是否取消了用户。
  5. 可以找到有关 UIActivityViewController 的更多信息here

    关于 UIBarButtonItem 的第二部分问题。可以使用以下命令使用自定义标题初始化UIBarButtonItem:

    UIBarButtonItem *shareButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Share" style:UIBarButtonItemStylePlain target:self action:@selector(shareButtonPressed)];
    self.navigationItem.rightBarButtonItem = shareButtonItem;
    

    请注意,UIBarButtonItem具有 UIBarButtonItemStyle ,您可以更改它。 UIBarButtonItemStylePlain (将创建一个带有常规字体的按钮)和UIBarButtonItemStyleDone (将创建一个带粗体字的按钮)