ios – 如何为Twitter 行动表制作社交分享例外?

ios – 如何为Twitter 行动表制作社交分享例外?,第1张

概述我使用以下代码在我的应用程序中调用 *** 作表共享: - (IBAction)sendPost:(id)sender{ NSArray *activityItems = nil; UIImage *appIcon = [UIImage imageNamed:@"appIcon.png"]; NSString *postText = [[NSString alloc] initW 我使用以下代码在我的应用程序中调用 *** 作表共享:
- (IBAction)sendPost:(ID)sender{    NSArray *activityItems = nil;    UIImage *appIcon = [UIImage imagenamed:@"appIcon.png"];    Nsstring *postText = [[Nsstring alloc] initWithFormat:@"LETS ASSUME THIS STRING IS LONGER THAN 140 CHaraCTERS THAT TWITTER PROHIBITS BUT CAN STILL BE SHARED VIA FACEBOOK,EMAIL,TEXT"];    activityItems = @[postText,appIcon];    UIActivityVIEwController *activityController = [[UIActivityVIEwController alloc] initWithActivityItems:activityItems applicationActivitIEs:nil];    [self presentVIEwController:activityController animated:YES completion:nil];}

问题是:postText超过140个字符,因此无法通过twitter共享,字符数将是-x(你通过twitter分享的红色字符数),我的问题是:如何我可以做一个例外,以便不同的消息说shortPostText将是选择twitter进行共享时使用的那个吗?

一旦你发送了sendPost动作,我就看不到为twitter明确设置字符串的方法了:

编辑:我不明白为什么有人会对这个问题进行投票,我不会问如何制作if / else语句或如何编程.这是一个真正的问题,需要一个真正的答案.

更新:我需要解决这个问题,因为当用户尝试通过我的应用程序中的Twitter分享时,这是我得到的:

红色/负号字符指示符和非活动帖子按钮,因此除非字符数减少到0或更少,否则不允许帖子转到twitter.

解决方法 TL; DR根据用户选择的内容,将 UIActivityItemSource用于特殊情况有效负载.

试试这个:

- (IBAction)sendPost:(ID)sender{    UIImage *appIcon = [UIImage imagenamed:@"appIcon.png"];    Nsstring *postText = [[Nsstring alloc] initWithFormat:@"LETS ASSUME THIS STRING IS LONGER THAN 140 CHaraCTERS THAT TWITTER PROHIBITS BUT CAN STILL BE SHARED VIA FACEBOOK,TEXT"];    TextItemSource *itemSource = [[TextItemSource alloc] initWithString:postText prevIEwImage:appIcon];    UIActivityVIEwController *activityController = [[UIActivityVIEwController alloc] initWithActivityItems:@[itemSource] applicationActivitIEs:nil];    [self presentVIEwController:activityController animated:YES completion:nil];}// ------- TextItemSource.h@interface TextItemSource : NSObject <UIActivityItemSource>- (ID)initWithString:(Nsstring *)string prevIEwImage:(UIImage *)prevIEwImage;@end// ------- TextItemSource.m@implementation TextItemSource{    Nsstring *_string;    UIImage *_prevIEwImage;}- (ID)initWithString:(Nsstring *)string prevIEwImage:(UIImage *)prevIEwImage{    self = [super init];    if (self) {        _string = [string copy];        _prevIEwImage = prevIEwImage;    }    return self;}- (ID)activityVIEwControllerPlaceholderItem:(UIActivityVIEwController *)activityVIEwController{    return _string;}- (ID)activityVIEwController:(UIActivityVIEwController *)activityVIEwController itemForActivityType:(Nsstring *)activityType{    Nsstring *string = _string;    if ([activityType isEqual:UIActivityTypePostToTwitter]) {#pragma mark Todo: do smarter thing :)        string = [_subject substringToIndex:140];    }    return string;}- (UIImage *)activityVIEwController:(UIActivityVIEwController *)activityVIEwController thumbnailImageForActivityType:(Nsstring *)activityType suggestedSize:(CGSize)size{    // might want to scale image to fit suggestedSize    return _prevIEwImage;}@end
总结

以上是内存溢出为你收集整理的ios – 如何为Twitter /行动表制作社交分享例外?全部内容,希望文章能够帮你解决ios – 如何为Twitter /行动表制作社交分享例外?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存