我的RSS应用程序已基本完成,但我需要在文章的Web视图的右上角有一个“共享”按钮。到目前为止,我已经设置了代码设置,以显示文章标题旁边的“操作”按钮,但由于没有实现实际代码,因此它不会执行任何操作:
我实现了它,它基于用于表视图单元格的代码,其中实现了“刷新”选项,我只是更改了图标。我使用了一个免费的开源项目将这个应用程序放在一起,我有点麻烦,弄清楚如何使该按钮显示从应用程序底部拉出的共享表,如下所示:
我试图在导航栏中实现一个按钮,但我不能,因为Web视图覆盖了整个屏幕:
因此,由于我无法将按钮直接放入控制器,因此我必须对其进行编码:
在我的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方法允许我输入单词而不是图标?
提前致谢
答案 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];
}
说明
可以找到有关 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 (将创建一个带粗体字的按钮)。