2012-03-19 138 views
7

當我手動調出「新消息」時,我會在文本編輯區域的左側看到一個攝像頭圖標。當我使用MFMessageComposeViewController時,它不會顯示這個圖標,這意味着你不能插入圖像。我知道這可以做到,因爲製作txtAgif的人可以做到這一點。一個微妙的區別是Caps打開。這可能是他們如何獲得這項工作的線索。MFMessageComposeViewController不顯示攝像頭圖標

我知道MFMessageComposeViewController不允許你以編程方式插入圖像,這就是爲什麼我要複製到UIPasteboard技巧。這部分工作完美。

同樣的問題已被詢問herehere除了「不能完成」之外,這個問題還沒有得到回答。

這是我的第一篇文章,所以我沒有足夠高的排名來貢獻其他問題的帖子。

他們是怎麼做到的? MFMessageComposeViewController有一個竅門,還是他們使用的是完全不同的東西?

回答

3

我找到了答案!使用UIApplication sharedApplication啓動一個空白消息,而MFMessageComposeViewController不會。因爲我正在使用UIPasteboard,所以我不需要在項目中插入項目。

NSString *phoneToCall = @"sms: 123-456-7890"; 
    NSString *phoneToCallEncoded = [phoneToCall stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
    NSURL *url = [[NSURL alloc] initWithString:phoneToCallEncoded]; 

    [[UIApplication sharedApplication] openURL:url]; 

這是MFMessageComposeViewController中的一個錯誤,因爲它們爲什麼會允許圖像插入到一個而不是另一個。我會插入圖片,但我不被允許,因爲我沒有足夠的聲望。

+1

現在如果您的聲望提高了,請插入圖片 – KDeogharkar 2012-05-15 11:14:22

+1

我想看看您是如何解決此問題的。 – KDeogharkar 2012-05-15 11:16:45

+0

您是否仍需要此kdeo_16幫助? – whatchamacallit 2012-06-05 01:34:45

4

我已經通過下面的代碼固定此:

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; 
      pasteboard.persistent = YES; 
      NSString *imagefile =app.strimagepath; 

      /// 
      BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:imagefile]; 

      if (fileExists) 
      {  
       NSData *data = UIImagePNGRepresentation([UIImage imageWithContentsOfFile:imagefile]); 
       pasteboard.image = [UIImage imageWithData:data]; 
      } 
      NSString *phoneToCall = @"sms: 123-456-7890"; 
      NSString *phoneToCallEncoded = [phoneToCall stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; 
      NSURL *url = [[NSURL alloc] initWithString:phoneToCallEncoded]; 

      [[UIApplication sharedApplication] openURL:url]; 

這裏app.strimgPath是存儲在文檔目錄圖像的路徑。當MessageView打開時。長按並點擊粘貼,信息將被粘貼。

+0

您只能將複製添加到剪貼板。我的問題的答案的關鍵是你必須使用UIApplication來啓動消息視圖。現在發佈一個使用MFMessageComposeViewController的例子。除非蘋果更新這個課程,否則不是這樣。 – whatchamacallit 2012-06-05 01:28:22

+0

當您無法看到相機按鈕或無法粘貼時,只需嘗試添加收件人的有效消息標識,並啓用相機圖標以及粘貼圖像。 – Prerna 2012-06-05 09:04:08