JotWee द्वारा उत्तर मुझे मदद मिली।
उप वर्गीकरण की कोई आवश्यकता नहीं है, UIActivityItemSource
प्रोटोकॉल विधियों को व्यू कंट्रोलर में लागू किया जा सकता है जहां शेयर बटन लागू किया जाता है।
बहुत महत्वपूर्ण गतिविधि आइटम सरणी में self
जोड़ने के लिए, इस तरह (के रूप में JotWee सुझाव):
ViewController.h
@interface ViewController : UIViewController <UIActivityItemSource>
ViewController:
NSArray *activityItems = [NSArray arrayWithObjects:self, url, image, nil];
यहाँ मेरा अंतिम कार्यान्वयन है .एम
- (void)shareBarButtonItemClick:(UIBarButtonItem *)sender
{
NSURL *url = [NSURL URLWithString:@"http://example.com"];
NSURL *imageUrl = [NSURL URLWithString:@"http://example.com/images/1.jpg"];
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageUrl]];
NSArray *activityItems = [NSArray arrayWithObjects:self, url, image, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
[self presentViewController:activityViewController animated:YES completion:nil];
}
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType
{
return @"Summary Text";
}
- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController
{
return @"";
}
- (NSString *)activityViewController:(UIActivityViewController *)activityViewController subjectForActivityType:(NSString *)activityType
{
return @"Subject";
}
स्रोत
2015-01-28 08:00:37
मैं पहले से ही ऐसा कर रहा हूं, और फिर भी विधियों को नहीं कहा जा रहा है। मैं एक 'UIActivityItemProvider' ऑब्जेक्ट में गुजर रहा हूं (और हाँ, मैंने अपने व्यू कंट्रोलर में 'UIActivityItemSource' प्रोटोकॉल को कार्यान्वित किया है)। – Mahouk
आपको अपने व्यू कंट्रोलर में 'UIActivityItemSource' प्रोटोकॉल को लागू नहीं करना चाहिए। 'UIActivityItemProvider' इस प्रोटोकॉल के तरीकों को लागू करता है। – Niels
यह अब काम करता है कि मैंने अपने 'UIActivityItemProvider' उपclass में विधियों को लागू किया! आपका बहुत बहुत धन्यवाद! मैं घंटों तक इस पर जा रहा हूं। – Mahouk