आईडी को ट्रैक करने में सक्षम होना पसंद है अगर उपयोगकर्ता फेसबुक, ट्विटर, आदि द्वारा साझा किया गया है, लेकिन ऐसा लगता है कि यह तरीका जानने के लिए कोई तरीका नहीं है कि कौन सी विधि चुनी गई थी। है?UIActivityViewController - क्या यह जानने का कोई तरीका है कि कौन सी गतिविधि का चयन किया गया था?
उत्तर
आप में निर्मित गतिविधि प्रकार कौन-प्रणाली के लिए निर्मित समर्थन किया है setCompletionHandler
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:nil];
[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
if([activityType isEqualToString: UIActivityTypeMail]){
NSLog(@"Mail");
}
if([activityType isEqualToString: UIActivityTypePostToFacebook]){
NSLog(@"Facebook");
}
}];
[self presentViewController:activityVC animated:TRUE completion:nil];
में गतिविधि प्रकार का उपयोग कर सकते हैं।
NSString *const UIActivityTypePostToFacebook;
NSString *const UIActivityTypePostToTwitter;
NSString *const UIActivityTypePostToWeibo;
NSString *const UIActivityTypeMessage;
NSString *const UIActivityTypeMail;
NSString *const UIActivityTypePrint;
NSString *const UIActivityTypeCopyToPasteboard;
NSString *const UIActivityTypeAssignToContact;
NSString *const UIActivityTypeSaveToCameraRoll;
iOS 8
कृपया ध्यान दें कि इस iOS 8 में एक संकलक चेतावनी उत्पन्न होगा के लिए संपादित, आप setCompletionHandler
विधि के बजाय setCompletionWithItemsHandler
विधि का उपयोग करने की जरूरत है।
बदलें:
[activityVC setCompletionHandler:^(NSString *activityType, BOOL completed) {
साथ:
[activityVC setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
धन्यवाद यह सहायक है! यह अच्छा है अगर मुझे पता होना चाहिए कि उन्होंने बाद में क्या चुना है, जो मैं करता हूं, लेकिन मुझे पहले भी जानना होगा। उदाहरण के लिए यदि कोई ट्विटर बटन हिट करता है, तो मैं फेसबुक – Adam
के साथ एक अलग संदेश प्रदर्शित करना चाहता हूं, आपको अपनी कस्टम डेटा ऑब्जेक्ट्स को कार्यान्वित करने की आवश्यकता होगी जो 'UIActivityItemSource' प्रोटोकॉल के अनुरूप हों। फिर आप अपने डेटा को गतिविधि प्रकार के विशिष्ट प्रारूप में प्रस्तुत कर सकते हैं (या केवल प्रकार को ट्रैक करें)। [एनएसएचप्स्टर] (http://nshipster.com/uiactivityviewcontroller/) में सभी विवरण हैं। – hagi
केवल मेल विकल्प प्रदर्शित है ?? एकाधिक विकल्प कैसे जोड़ सकते हैं? –
तुम सिर्फ अपने प्रोटोकॉल को लागू करने से गतिविधि के द्वारा पहचान करने के लिए जो गतिविधि को छुआ गया है और वापस जाने के कस्टम डेटा इस lib https://github.com/rdougan/RDActivityViewController उपयोग कर सकते हैं।
इस तरह:
- (NSArray *)activityViewController:(NSArray *)activityViewController itemsForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypePostToTwitter]) {
return @[@"Twitter text"];
} else if ([activityType isEqualToString:UIActivityTypeMessage]) {
return @[@"Message text"];
} else if ([activityType isEqualToString:UIActivityTypeMail]) {
return @[@"Mail text"];
} else if ([activityType isEqualToString:UIActivityTypePostToFacebook]) {
return @[@"Facebook text"];
} else {
return @[@"Default text"];
}
}
मुझे आशा है कि मैं तुम्हें मदद की है!
इस प्रोटोकॉल कॉल के कारण बस मेरे ऐप को खारिज कर दिया गया। जाहिर है यह एक निजी एपीआई है। इस पुस्तकालय का प्रयोग न करें। –
स्विफ्ट 2 में:
activityViewController.completionWithItemsHandler = { activity, success, items, error in
if !success{
print("cancelled")
return
}
if activity == UIActivityTypePostToTwitter {
print("twitter")
}
if activity == UIActivityTypeMail {
print("mail")
}
}
तेज 3
let activityViewController:UIActivityViewController = UIActivityViewController(activityItems: [screenCapture], applicationActivities: nil)
activityViewController.excludedActivityTypes = [UIActivityType.print, UIActivityType.postToWeibo, UIActivityType.copyToPasteboard, UIActivityType.addToReadingList, UIActivityType.postToVimeo]
activityViewController.completionWithItemsHandler = { activity, success, items, error in
if !success{
print("cancelled")
return
}
if activity == UIActivityType.postToFacebook {
print("facebook")
}
if activity == UIActivityType.mail {
print("mail")
}
}
self.present(activityViewController, animated: true, completion: nil)
- 1. क्या यह जानने के लिए History.js में कोई तरीका है कि बैक बटन दबाया गया था
- 2. क्या गतिविधि के बारे में जानने का कोई तरीका है कि किस टुकड़े को बनाया गया था?
- 3. क्यूटी, पुशबटन, आईडी विशेषता? यह जानने के लिए कि कौन सा बटन क्लिक किया गया था
- 4. यह जानने का सही तरीका है कि कोई गतिविधि नष्ट हो गई है
- 5. log4j: कौन सी कॉन्फ़िगरेशन फ़ाइल का उपयोग किया गया था?
- 6. यह पहचानने का सबसे अच्छा तरीका क्या है कि कौन सा फॉर्म सबमिट किया गया है?
- 7. आईओएस: क्या यह निर्धारित करने का कोई तरीका है कि प्रेषक कौन सा UIControlEvent आया था?
- 8. क्या यह जानने का कोई तरीका है कि किस कंपाइलर ने स्थिर पुस्तकालय बनाया है?
- 9. क्या यह जानने का कोई तरीका है कि कौन सी ऑब्जेक्ट्स और उनमें से कितने मेमोरी में हैं?
- 10. क्या यह बताने का कोई तरीका है कि क्या पाइथन कॉन्फ़िगर किया गया था और "--with-threads --enable-shared" के साथ संकलित किया गया था?
- 11. क्या यह पता लगाने का कोई तरीका है कि क्या ऐप बाजार के साथ स्थापित किया गया था या नहीं?
- 12. क्या यह जांचने का कोई तरीका है कि बाइनरी मोड में एक आईट्रीम खोला गया था या नहीं?
- 13. क्या यह बताने का कोई तरीका है कि कौन सी जीसी एल्गोरिदम वर्तमान में
- 14. क्या यह जानने का कोई तरीका है कि जेएसएफ प्रोजेक्ट की एक्सएचटीएमएल फाइलों में कौन से बीन गुणों का संदर्भ दिया गया है?
- 15. क्या यह जानने का कोई तरीका है कि कमांड लाइन से या जार फ़ाइल से जावा प्रोग्राम शुरू किया गया था या नहीं?
- 16. UITableView - किस पंक्ति का चयन किया गया था?
- 17. क्या एडब्ल्यूएस खाते की उम्र जानने का कोई तरीका है?
- 18. क्या यह जानने का कोई तरीका है कि क्या UIViewController प्रस्तुत किया गया है और सामान्य रूप से खारिज कर दिया गया है?
- 19. यह जानने के लिए कि कौन सा एमकेएनोटेशन टैप किया गया है, साफ समाधान?
- 20. क्या कोई स्केलर स्ट्रिंग किया गया है या नहीं, यह जांचने का कोई तरीका है?
- 21. वेग: यह जांचने का कोई तरीका है कि चर परिभाषित किया गया है या नहीं
- 22. यह पता लगाने के लिए कि कौन से फ़ंक्शंस को रेखांकित नहीं किया गया था
- 23. क्या आविष्कार विधि जानने का कोई तरीका है?
- 24. यह बताने का सही तरीका है कि मेरे चयन ने कोई मौजूदा तत्व पकड़ा है
- 25. यह पता लगाना कि कर्ल को रीडायरेक्ट किया गया था
- 26. क्या यह निर्धारित करने का कोई तरीका है कि एक स्थिर पुस्तकालय संकलित करने के लिए विजुअल स्टूडियो का किस संस्करण का उपयोग किया गया था?
- 27. UIActivityViewController चयनित गतिविधि
- 28. यह जांचने के लिए कि कोई ऑब्जेक्ट प्रारंभ किया गया था या नहीं? ऑब्जेक्टिव-सी
- 29. क्या सख्त मोड लागू किया गया है या नहीं, यह जांचने का कोई तरीका है?
- 30. यह पता लगाना कि कोई HttpModule लोड किया गया है
हमेशा अच्छा एक सवाल है कि मैं पूछने के लिए जा रहा था देखने के लिए। – Morkrom