Powiedz, że chcesz coś zrobić po zakończeniu przez użytkownika. Co robisz?Dlaczego SLComposeViewController nie ma delegata?
To nie ma delegata. Co należy zrobić po odrzuceniu kontrolera widoku?
Powiedz, że chcesz coś zrobić po zakończeniu przez użytkownika. Co robisz?Dlaczego SLComposeViewController nie ma delegata?
To nie ma delegata. Co należy zrobić po odrzuceniu kontrolera widoku?
W dokumentacji Apple znajdziesz, że SLComposeViewController ma właściwość obsługi zakończenia zamiast delegata. Trzeba tylko ustawić tę właściwość za pomocą metody setCompletionHandler. Następnie należy użyć stałej SLComposeViewControllerResult, aby odzyskać, czy wpis został opublikowany lub anulowany, i podjąć odpowiednie działania.
-(void) shareToFacebook {
//1. Set link and image
NSString *appLink = @"https://itunes.apple.com/app/id989793966";
UIImage *twitterImage = [UIImage imageNamed:@"TF_400x400.png"];
//2. Check if we can share
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
//3. Compose the share view controller
SLComposeViewController *FBViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[FBViewController addURL:[NSURL URLWithString:appLink]];
[FBViewController addImage:twitterImage];
//4 Set completion handler and define actions to take
[FBViewController setCompletionHandler:^(SLComposeViewControllerResult result)
{
if (result == SLComposeViewControllerResultCancelled) {
[self addEmptyScreenButtonTargets];
} else if (result == SLComposeViewControllerResultDone) {
//Unlock words; show thank you screen
[NewCardManager unlockWordsForPackage:4];
[self openFBThankYouScreen];
}
}];
//5. Call to modally present the share controller
[self presentViewController:FBViewController animated:YES completion:nil];
}
}
To, co jest dla obsługi zakończenie. –
Argh Tęskniłem za tym. Teraz używają tego zamiast delegata. –