2012-03-19 20 views
7

"Yeni Mesaj" ı el ile açtığımda, metin düzenleme alanının solunda bir kamera simgesi göreceğim. MFMessageComposeViewController'ı kullandığımda, bu simgeyi göstermez, bu da görüntüleri ekleyemeyeceğiniz anlamına gelir. Bunun yapılabileceğini biliyorum çünkü txtAgif'u yapan adamlar bunu yapabilir. Tek bir fark, Kapaklar açık. Bunun işe nasıl başlayacağına dair bir ipucu olabilir.MFMessageComposeViewController kamera simgesini görüntülemiyor

MFMessageComposeViewController'ın program aracılığıyla görüntü eklemenize izin vermediğini biliyorum ve bu yüzden kopyayı UIPasteboard hile yapmamın nedeni budur. Bu bölüm mükemmel çalışıyor.

Aynı soru here ve here'dan sorulmuştur, "Bu yapamazsınız" dışında soru yanıtlanmadı.

Bu benim ilk gönderiimdir, bu yüzden diğer soru yayınlarına katkıda bulunmak için yeterince yüksek bir sıralamaya sahip değildim.

Bunu nasıl yapıyorlar? MFMessageComposeViewController için bir hile var mı yoksa tamamen farklı bir şey mi kullanıyorlar?

cevap

3

Cevabı buldum! MFMessageComposeViewController, boş bir ileti başlatmak için UIApplication sharedApplication kullanarak çalışır. UIPasteboard kullanıyorum çünkü vücut içine öğeleri eklemek gerekmez.

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

    [[UIApplication sharedApplication] openURL:url]; 

Bu

onlar görüntüleri diğeri içine yerleştirilir ve olanak sağlayacak Çünkü neden MFMessageComposeViewController bir hata olduğunu. Bir resim ekleyebilirdim ancak izin veremem çünkü yeterli bir itibarım yok.

+1

şimdi saygınlık artıyorsa ... lütfen bir resim ekleyin – KDeogharkar

+1

Bu sorunu nasıl çözdüğünüzü görmek istiyorum .... – KDeogharkar

+0

Hala bu kdeo_16 ile ilgili yardıma ihtiyacınız var mı? – whatchamacallit

4

Aşağıdaki kodu ile bu sabit:

İşte
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 belge dizinde saklanan görüntünün yoludur. MessageView açıldığında. Uzun basın ve Yapıştır'a tıklayın ve mesaj yapıştırılacak.

+0

'u kullanarak bir mesaj ekleyebilirim. Kopyalamayı sadece panoya eklersiniz. Soruma yanıtın anahtarı, mesaj görünümünü başlatmak için UIApplication kullanmanız gerektiğidir. Şimdi çalışan MFMessageComposeViewController kullanarak bir örnek gönderin. Apple bu sınıfı güncellemedikçe değil. – whatchamacallit

+0

kamera düğmesini göremediğinizde ya da yapıştıramazsanız, sadece alıcıya geçerli bir Mesaj kimliği ekleyerek deneyin ve kamera simgesinin yanı sıra görüntüyü yapıştırmanıza izin verir. – Prerna

İlgili konular