2013-01-06 147 views
0

我試圖在Facebook上iOS6的整合爲一個iPad應用程序,並運行到一個問題:無法呈現視圖 - 控制器(SLComposeViewController)

當下面的代碼執行,屏幕漸變爲黑色(比如當一個模式控制器出現),但沒有任何反應。沒有Facebook表單,什麼都沒有 - 甚至無法點擊當前視圖,就好像Facebook表單被隱藏或者其他東西一樣。

任何想法爲什麼這可能會發生?我試圖使用UINavigationController的根視圖控制器和可見/頂部控制器來呈現表單,但都做同樣的事情。

順便說一下,下面的代碼是在AppDelegate。該方法也被稱爲響應按鈕點擊。

謝謝, Nikos。

-(BOOL)socialPost:(UIImage*)image initialText:(NSString*)initialText url:(NSURL*)url 
{ 
    if (![self canSocialPost]) 
     return NO; 

    SLComposeViewController* SLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 
    if (SLComposerSheet == nil) 
     return NO; 

    [SLComposerSheet setInitialText:initialText]; 
    [SLComposerSheet addImage:image]; 
    [SLComposerSheet addURL:url]; 
    [SLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) { 

     switch (result) { 
      case SLComposeViewControllerResultCancelled: 
       DLog(@"Social post Canceled"); 
       break; 
      case SLComposeViewControllerResultDone: 
       DLog(@"Social post Sucessful"); 
       break; 

      default: 
       break; 
     } 
    }]; 

    [[self window].rootViewController presentViewController:SLComposerSheet animated:YES completion:nil]; 
    return YES; 
} 
+0

是否還有其他可能相關的代碼可以發佈?我只是複製/粘貼您的代碼,並按預期執行。 –

回答

2

0x7FFFFFFF的是正確的 - 這個問題實際上是在別處:

我將嵌套視圖的「根視圖」,但並沒有作爲一個孩子添加其視圖控制器也即

我在做:

[_ContainerView addSubview:_ViewControllers[tabId].view]; 

沒有

[self addChildViewController:_ViewControllers[tabId]]; 

它現在已經修復 - 謝謝你測試這個0x7fffffff。

+0

我遇到了和你一樣的問題。這個答案也解決了我的問題。 – Senry