3

ShareKit を使用して、オブジェクトを Twitter、Facebook、および電子メールで共有しています。Twitter と Facebook は正常に機能しますが、電子メールは機能しません。そして、私はその理由を本当に知りません。

かなりランダムに動作するようです。

私は次のように設定しました:

[self.customView.shareButton addTarget:self action:@selector(sharePost:) forControlEvents:UIControlEventTouchUpInside];

- (void)sharePost:(UIButton *)sender
{
    NSURL *url = [NSURL URLWithString:self.currentPost.link];

    // Add image.
    NSString *imageUrlString = [NSString stringWithFormat:[link]];
    NSURL *imageUrl = [NSURL URLWithString:imageUrlString];
    UIImageView *postImage = [[UIImageView alloc] init];
    [postImage setImageWithURL:imageUrl];

    SHKItem *item = [SHKItem image:postImage.image title:[NSString stringWithFormat:@"%@", self.currentPost.title]];
    [item setURL:url];
    [item setMailBody:[NSString stringWithFormat:@"%@ %@", self.currentPost.title, self.currentPost.link]];

    // Get the ShareKit action sheet
    // This works
    SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

    // ShareKit detects top view controller (the one intended to present ShareKit UI) automatically,
    // but sometimes it may not find one. To be safe, set it explicitly.
    [SHK setRootViewController:self];

    // Display the action sheet.
    [actionSheet showInView:self.view];
}

アイデアや、私が見逃していることや間違っていることはありますか?

4

1 に答える 1

1

使用しているRootViewControllerとビューを変更してみてください。

[SHK setRootViewController:self.view.window.rootViewController];
[actionSheet showInView:self.view.window.rootViewController.view];

ほとんどの場合、ViewControllerの階層が多少混乱しています。

于 2012-08-28T14:18:31.320 に答える