簡體   English   中英

共享后執行Segue-Objective-C(Xcode)

[英]Performing Segue After Sharing - Objective-C (Xcode)

我有一個Twitter共享視​​圖控制器,該控件在我的一個視圖控制器之前打開。 我使Twitter視圖是這樣的:

if ([shareOption isEqual: @"Tweet"]) {

        SLComposeViewController *tweetSheet = [SLComposeViewController
                                               composeViewControllerForServiceType:SLServiceTypeTwitter];


        [tweetSheet setInitialText:combined];
        [tweetSheet addImage:capturedScreen];
        [self presentViewController:tweetSheet animated:YES completion:nil];

}

我有以下代碼行可以切換到我的下一個視圖控制器:

[self performSegueWithIdentifier: @"goBack" sender: self];

用戶完成推文后如何呼叫該行? 如果用戶決定取消其推文,我也希望執行此行。

編輯

if ([shareOption isEqual: @"Tweet"]) {

        SLComposeViewController *tweetSheet = [SLComposeViewController
                                               composeViewControllerForServiceType:SLServiceTypeTwitter];
        [tweetSheet setInitialText:combined];
        [tweetSheet addImage:capturedScreen];
        iJustShared = @"YES";
        [self presentViewController:tweetSheet animated:YES completion:nil];

    [tweetSheet setCompletionHandler:^(SLComposeViewControllerResult result) {

        [self performSegueWithIdentifier: @"goBack" sender: self];

    }];

}

您需要在tweet控制器中包含該行,並且如果您希望該序列返回到先前的控制器,則需要執行dismissViewControllerAnimated:completion

但是,由於您使用的是SLComposeViewcontroller而不是對其進行子類化,因此必須通過設置其完成處理程序來使用處理程序:

[tweetSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
    //actions!
}];

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/SLComposeViewController_Class/Reference/Reference.html#//apple_ref/occ/instp/SLComposeViewController/completionHandler

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM