Dessen Blick ist nicht in die Fenster-Hierarchie-Problem?

Warnung: Versuchen Sie zu präsentieren, auf dessen Sicht nicht in die Fenster-Hierarchie!

Ja, ich habe mir die anderen Fragen und Antworten vor dem posten dieser Frage. Sie haben nicht geholfen mich zu lösen. Hier ist, was ich Tue. Ich rufe auf meiner singleton-Klasse socialHelper anzeigen eine Aktion, Blatt, wo postToFacebook Methode ist eine option, um Sie auszuwählen. Wenn Sie auf diese Aktion, ich bekomme die Warnung vor und die postToFacebook wird nicht angezeigt. Ich rufe diese von einem UIViewController mit dem UINavigationController als die Haupt-controller, und mein SocialHelper Klasse ist ein NSOject.

- (void)postToFacebook
{
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {

    slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
    [slComposeViewController setInitialText:@"Building stairs? Checkout StairsPro on the app store!"];
    [slComposeViewController addImage:[UIImage imageNamed:@"StairsIcon120x120.png"]];
    [slComposeViewController addURL:[NSURL URLWithString:@"https://itunes.apple.com/us/app/stairs-pro/id477032819?ls=1&mt=8"]];

    [self presentViewController:slComposeViewController animated:YES completion:nil];

    //I've also tried this, which shows the post window, but after hitting cancel or post, my previous viewController is not the current viewController. So my navigation bar is gone and can't move around in my app. 
    //[[[[UIApplication sharedApplication]delegate]window]setRootViewController:slComposeViewController];

    }else{
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"No Facebook Account" message:@"No Facebook account has been configured. You can configure or create a Facebook account in settings." delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil];
        [alert show];
}
}

Also, was ich Frage, ist, was ist der beste Weg, um die slComposerViewController für die Anzeige in diesem Fall auch, wie konnten wir das UIApplication option. Danke!

Ist SocialHelper eigentlich auf dem Bildschirm?
Nichts zeigt auf dem Bildschirm, wenn es heißt, soweit die PostToFacebook Fenster. Nur den Bildschirm habe ich genannt. Aber die UActionSheet funktioniert, dann traf ich einen Post auf Facebook, und ich bekomme die Warnung und die UIActionSheet geht Weg, und nur wieder auf den Bildschirm rief ich es aus.
presentViewController:animated:completion: muss aufgerufen werden, aus der viewController, der aktuell auf dem Bildschirm dargestellt. Wenn SocialHelper ist nicht die aktuell präsentierten viewController, dann sollten Sie nicht den Aufruf dieser Methode auf
Ich versuchte, verschieben alles auf der UIViewController-Klasse, das angezeigt wird, und bekam die gleiche Warnung.
Sind Sie sicher, dass Sie das Recht haben, viewController?

InformationsquelleAutor Jason | 2014-05-31

Schreibe einen Kommentar