首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IOS7 - SLComposeViewController -包含链接/图片?

IOS7 - SLComposeViewController -包含链接/图片?
EN

Stack Overflow用户
提问于 2013-11-14 22:41:55
回答 2查看 12.5K关注 0票数 4

我正在为一个客户构建一个IOS7原生应用程序--它是为健身教练准备的。

简要要求客户可以在社交上分享进度更新-其中包括一个教师网站的链接,以帮助推广,例如- 'Joe ran 3000 miles with the help of Debbie Personal Trainer',理想情况下还有一张培训师的小照片。

我看过SLComposeViewController,可以很容易地创建tweet字符串,但我不知道如何在其中添加网址和图像--有人知道这是否可行吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-14 22:55:09

导入框架<Twitter/Twitter.h><Social/Social.h>

代码语言:javascript
运行
复制
-(void)sendFacebook:(id)sender {

    SLComposeViewController *composeController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    [composeController setInitialText:@"look me"];
    [composeController addImage:[UIImage imageNamed:@"image.png"]];
    [composeController addURL: [NSURL URLWithString:@"http://www.apple.com"]];

    [self presentViewController:composeController animated:YES completion:nil];

    SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
        if (result == SLComposeViewControllerResultCancelled) {
            NSLog(@"delete");
        } else  {
            NSLog(@"post");
        }

    //    [composeController dismissViewControllerAnimated:YES completion:Nil];
      };
        composeController.completionHandler =myBlock;
}

- (void)sendTwitter:(id)sender {

    SLComposeViewController *composeController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

    [composeController setInitialText:@"look me"];
    [composeController addImage:[UIImage imageNamed:@"image.png"]];
    [composeController addURL: [NSURL URLWithString:
                                @"http://www.apple.com"]];

    [self presentViewController:composeController
                       animated:YES completion:nil];

    SLComposeViewControllerCompletionHandler myBlock = ^(SLComposeViewControllerResult result){
        if (result == SLComposeViewControllerResultCancelled) { 
            NSLog(@"delete"); 
        } else {
            NSLog(@"post");
        }
     //   [composeController dismissViewControllerAnimated:YES completion:Nil];
      };
        composeController.completionHandler =myBlock;
}
票数 22
EN

Stack Overflow用户

发布于 2014-05-03 04:18:17

这几乎与llario的答案相同,但遵循了Apple文档的说明,并采用了带有一些额外错误检查的防御性编码。

代码语言:javascript
运行
复制
#import <Social/Social.h>

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
    SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
    if (composeViewController) {
        [composeViewController addImage:[UIImage imageNamed:@"MyImage"]];
        [composeViewController addURL:[NSURL URLWithString:@"http://www.google.com"]];
        NSString *initialTextString = @"Check out this Tweet!";
        [composeViewController setInitialText:initialTextString];
        [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
            if (result == SLComposeViewControllerResultDone) {
                NSLog(@"Posted");
            } else if (result == SLComposeViewControllerResultCancelled) {
                NSLog(@"Post Cancelled");
            } else {
                NSLog(@"Post Failed");
            }
        }];
        [self presentViewController:composeViewController animated:YES completion:nil];
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19980565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档