[英]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!
}];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.