2013-08-28 6 views
5

कहें कि उपयोगकर्ता खत्म होने के बाद आप कुछ करना चाहते हैं। आप क्या करते हैं?क्यों SLComposeViewController प्रतिनिधि नहीं है?

इसमें कोई प्रतिनिधि नहीं है। वर्तमान दृश्य नियंत्रक को खारिज कर दिए जाने के बाद क्या करना है?

+1

है यही कारण है कि पूरा होने हैंडलर के लिए है। –

+0

अरघ मुझे याद आया। अब वे प्रतिनिधि के बजाय इसका इस्तेमाल करते हैं। –

उत्तर

3

ऐप्पल दस्तावेज में आप पाएंगे कि SLComposeViewController के पास एक प्रतिनिधि के बजाय एक पूर्ण हैंडलर संपत्ति है। आपको बस उस कॉम्प्लेक्शन हैंडलर विधि का उपयोग करके उस प्रॉपर्टी को सेट करने की आवश्यकता है। फिर आप पोस्ट को रद्द या रद्द कर दिया गया था या फिर तदनुसार कार्रवाई करने के लिए निरंतर SLComposeViewControllerResult का उपयोग करते हैं।

-(void) shareToFacebook { 
//1. Set link and image 
NSString *appLink = @"https://itunes.apple.com/app/id989793966"; 
UIImage *twitterImage = [UIImage imageNamed:@"TF_400x400.png"]; 

//2. Check if we can share 
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { 

    //3. Compose the share view controller 
    SLComposeViewController *FBViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

    [FBViewController addURL:[NSURL URLWithString:appLink]]; 

    [FBViewController addImage:twitterImage]; 

    //4 Set completion handler and define actions to take 
    [FBViewController setCompletionHandler:^(SLComposeViewControllerResult result) 
    { 
     if (result == SLComposeViewControllerResultCancelled) { 

      [self addEmptyScreenButtonTargets]; 

     } else if (result == SLComposeViewControllerResultDone) { 

      //Unlock words; show thank you screen 
      [NewCardManager unlockWordsForPackage:4]; 

      [self openFBThankYouScreen]; 
     } 
    }]; 

    //5. Call to modally present the share controller 
    [self presentViewController:FBViewController animated:YES completion:nil]; 
} 

}

संबंधित मुद्दे