2015-06-08 8 views
7

मैं प्रत्येक आइटम के लिए UIActivityViewController विभिन्न URL साझा करने का प्रयास कर रहा हूं। जैसे ट्विटर के लिए: www.google.com; फेसबुक के लिए: www.bing.comuiactivityviewcontroller के माध्यम से विभिन्न यूआरएल कैसे साझा करें?

मुझे पता है कि मैं प्रत्येक के लिए पाठ को कस्टमाइज़ कर सकता हूं लेकिन मुझे प्रत्येक के लिए यूआरएल को अनुकूलित करने का कोई तरीका नहीं दिख रहा है।

मैं UIActivityItemProvider उपवर्गीकरण की कोशिश की है, लेकिन यह ऐसा नहीं हो पाया:

फ़ाइल मीटर

- (id)initWithText:(NSString *)text{ 

if ((self = [super initWithPlaceholderItem:text])) { 
    self.text = text ?: @""; 
    self.url = @""; 
} 
    return self; 
} 

- (id)item { 
    NSString *activityType = self.activityType; 

    if ([self.placeholderItem isKindOfClass:[NSString class]]) { 

     if ([self.activityType isEqualToString:UIActivityTypePostToFacebook]) { 

      self.url = kSHARELINK_FB; 

     } else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) { 

      self.url = kSHARELINK_TWITTER; 


     } else if ([activityType isEqualToString:UIActivityTypeMessage]) { 

      self.url = kSHARELINK_SMS; 


      } else if([activityType 

isEqualToString:UIActivityTypeMail]){ 
      self.url = kSHARELINK_EMAIL; 


     }else if ([activityType 

isEqualToString:UIActivityTypePostToWeibo]){ 
      self.url = kSHARELINK_WEIBO; 

     }else{ 

      self.url = kSHARELINK_OTHER; 

     } 
    } 

    return self.placeholderItem; 
} 

फ़ाइल ज

@interface LLCustomActivityItemProvider : UIActivityItemProvider 

@property (copy, nonatomic) NSString *text; 
@property (copy, nonatomic) NSString *url; 

- (id)initWithText:(NSString *)text; 

उत्तर

3

ऐसा लगता है कि मैं एक याद आ रही थी return self.url; ...

- (id)item { 
    NSString *activityType = self.activityType; 

    if ([self.placeholderItem isKindOfClass:[NSString class]]) { 

     if ([self.activityType isEqualToString:UIActivityTypePostToFacebook]) { 

      self.url = kSHARELINK_FB; 

     } else if ([activityType isEqualToString:UIActivityTypePostToTwitter]) { 

      self.url = kSHARELINK_TWITTER; 


     } else if ([activityType isEqualToString:UIActivityTypeMessage]) { 

      self.url = kSHARELINK_SMS; 


      } else if([activityType isEqualToString:UIActivityTypeMail]){ 
      self.url = kSHARELINK_EMAIL; 


     }else if ([activityType isEqualToString:UIActivityTypePostToWeibo]){ 
      self.url = kSHARELINK_WEIBO; 

     }else{ 

      self.url = kSHARELINK_OTHER; 

     } 
     return self.url; 
    } 

    return self.placeholderItem; 
} 
संबंधित मुद्दे