2013年6月26日水曜日

Social.frameworkの投稿ビューの各ボタンのハンドリングした際の不具合について

前回「Social.frameworkの投稿ビューの各ボタンのハンドリングを行う(FacebookまたはTwitterの場合)」という記事を書いたのですが、投稿ビューのボタンをハンドリングした際に気になるところがあったのでそのメモ。

気になるところ

気になるところというのは、

投稿ビューの「投稿」ボタンを押し投稿ビューが閉じられたとき、画面がなにも反応しなくなってしまった

ということです。

原因

おそらく、setCompletionHandler:メソッドを呼んだ際に見えないビューが上に被さってしまったことが原因なのではいかと思います。

解決策

解決策としては、 setCompletionHandler:メソッドを呼ぶ際に、以下のようにdismissViewControllerAnimated:completion:メソッドを呼んで対処します。
[facebookPostVC setCompletionHandler:^(SLComposeViewControllerResult result) {
    switch (result) {
        case SLComposeViewControllerResultCancelled:  // キャンセルが押された
            NSLog(@"キャンセル");
                    break;
        case SLComposeViewControllerResultDone:  // 投稿が押された
             NSLog(@"投稿");
                    break;
                default:
                    break;
    }
    [facebookPostVC dismissViewControllerAnimated:YES completion:nil];  // これ追加
}];

参考記事

Twitter Post iOS6 'Cancel' button issue - Stack Overflow

0 件のコメント:

コメントを投稿