উপলব্ধ শেয়ার বিকল্পগুলির সাথে ডিফল্ট আইওএস 6 শেয়ার অ্যাকশন শীটটি কীভাবে প্রদর্শিত করবেন?


97

কিছু অ্যাপস ভাগ করে নেওয়ার বিকল্পগুলির সাথে আইওএস 6 এ একটি ডিফল্ট অ্যাকশন শীট দেখায়।

সামাজিক ফ্রেমওয়ার্কের কেবল দুটি ক্লাস থাকে, একটি রচনার জন্য এবং একটি অনুরোধের জন্য।

আমি যা পেয়েছি তা হ'ল এসএলকম্পোজভিউ কনট্রোলারের সাথে একটি নির্দিষ্ট পরিষেবাদির জন্য রচনা করা এবং এটি প্রদর্শন করার আগে যদি পরিষেবা উপলব্ধ থাকে তবে আমাকে হাতের কাছে জিজ্ঞাসা করতে হবে। এবং তারপরে আমাকে নিজের আইকনগুলি সহ নিজের ক্রিয়া শিটটি তৈরি করতে হবে।

এই অ্যাপসটি কীভাবে এই আইওএস 6 এ ডিফল্ট শেয়ার বিকল্পগুলি অ্যাকশনশিট দেখায়? বা তারা কোনও ওপেন সোর্স ফ্রেমওয়ার্ক ব্যবহার করছে?


আমি উইচ্যাট, ওয়েইবো, কিউকিউ এর মতো কাস্টম আইকন সহ শেয়ার শীটটি খুলতে চাই এবং এর কার্যকারিতা একীভূত করতে চাই, আমি কীভাবে এটি করতে পারি?
রবি ওঝা


উত্তর:


223

UIActivityViewController অন্যান্য উত্তর বিবৃত এই তুচ্ছ করে তোলে। আপনাকে যা করতে হবে তা হ'ল পাঠ্য / চিত্র / ইউআরএল নির্দিষ্ট করতে হবে যা আপনি ক্রিয়াকলাপ দর্শন নিয়ন্ত্রককে আধুনিকভাবে ভাগ করতে এবং উপস্থাপন করতে চান এবং আইওএস স্বয়ংক্রিয়ভাবে সমস্ত প্রযোজ্য ভাগ করে নেওয়ার পরিষেবাদি প্রদর্শন করবে। উদাহরণ:

উদ্দেশ্য গ

- (void)shareText:(NSString *)text andImage:(UIImage *)image andUrl:(URL *)url
{
    NSMutableArray *sharingItems = [NSMutableArray new];

    if (text) {
        [sharingItems addObject:text];
    }
    if (image) {
        [sharingItems addObject:image];
    }
    if (url) {
        [sharingItems addObject:url];
    }

    UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:nil];
    [self presentViewController:activityController animated:YES completion:nil];
}

সুইফট

func share(sharingText: String?, sharingImage: UIImage?, sharingURL: URL?) {
    let sharingItems:[AnyObject?] = [
                                        sharingText as AnyObject,
                                        sharingImage as AnyObject,
                                        sharingURL as AnyObject
                                    ] 
    let activityViewController = UIActivityViewController(activityItems: sharingItems.compactMap({$0}), applicationActivities: nil)
    if UIDevice.current.userInterfaceIdiom == .pad {
        activityViewController.popoverPresentationController?.sourceView = view
    }
    present(activityViewController, animated: true, completion: nil)
}

6
সুইফ্ট সংস্করণটির জন্য দুর্দান্ত সম্পাদনা। আমি একটি + = আইটেমের জন্য .append (আইটেম) পরিবর্তন করব। আরও
তাত্ক্ষণিক-

4
সুইফট এর সর্বশেষ সংস্করণে, প্রতিস্থাপন AnyObject[]()সঙ্গে[AnyObject]()
রুবেন মার্টিনেজ জুনিয়র

5
এর ওয়ার্কিং, কেবল সেটিংসে (ফেসবুক / টুইটার) সংশ্লিষ্ট অ্যাকাউন্টগুলিতে লগ ইন করার পরে, তবে ফটোগুলি অ্যাপ / নোটস অ্যাপ্লিকেশনটিতে, ব্যবহারকারী লগইন না করা সত্ত্বেও বিকল্পগুলি উপলব্ধ থাকে, আপনি দয়া করে ব্যাখ্যা করতে পারেন, এটি কেন এমন? বা অন্য কিছু কাজ আছে?
জলদীপ ক্যাটরে

4
আমি iPad এ iOS 8 এ সমর্থনের জন্য একটি সম্পাদনা জুড়েছেন - আপনার কাছে কনফিগার করতে UIActivityViewControllerএর UIPopoverControllerবা এটিতে বিপর্যস্ত করব present…। আমি এ পর্যন্ত সম্পাদনায় তিনজনের কাছ থেকে দুটি প্রত্যাখ্যান করেছি, সুতরাং ধরে নিই এটি প্রত্যাখ্যান করা হয়েছে, আপনি নিজেই সম্পাদনা যুক্ত করতে চান কিনা তা দেখতে পেলেন। বা না :-)
বেনজহান

ওহ, সম্পাদনা এই উত্তরটি উদ্ধৃত করে যা সমস্ত ব্যাখ্যা করে।
বেনজোহান

39

এটি ব্যবহার করতে এটি যুক্ত করুন UIActivityViewController

-(IBAction)shareButtonPressed:(id)sender {

    NSLog(@"shareButton pressed");

    NSString *texttoshare = _txt; //this is your text string to share
    UIImage *imagetoshare = _img; //this is your image to share
    NSArray *activityItems = @[texttoshare, imagetoshare];    
    UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
    activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint];
    [self presentViewController:activityVC animated:TRUE completion:nil];
}

4
আপনিও বাদ দিয়ে দেখায় যেহেতু আমার কাছে পছন্দসই উত্তর।
জোসে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.