2013-08-13 14 views
5

böyle, PDF eki ile, bir e-posta yolluyorum:UIDocumentInteractionController tarafından gönderilen? UIDocumentInteractionController kullanırken

başlamalıyım PDF dosyası gösterilmektedir PDF dosyası

-(void)showPDFFile 
{  
    NSURL *url = [NSURL fileURLWithPath:_filePath]; 

    if (url) { 
     _documentInteractionController = 
      [UIDocumentInteractionController interactionControllerWithURL:url]; 

     [_documentInteractionController setDelegate: self]; 
     [_documentInteractionController presentPreviewAnimated:YES]; 
    } 
} 


- (UIDocumentInteractionController *)setupControllerWithURL:(NSURL *)fileURL 
               usingDelegate:(id <UIDocumentInteractionControllerDelegate>)interactionDelegate { 

    UIDocumentInteractionController *interactionController = 
     [UIDocumentInteractionController interactionControllerWithURL: fileURL]; 

    [interactionController setDelegate: interactionDelegate]; 
    return interactionController; 
} 

göstererek, kullanıcı tıkladığında "Dışa Aktar" seçeneği ve iOS’un "Şununla aç" görünümü görüntülenir. E-posta tıklandığında

şimdi bir e-posta göndermek için bir View Controller hazır açılır. CC/BCC ve Konu alanları programlama:

nasıl To kuracak?

Teşekkür ederiz!

+0

E görünümünü sunmak kullanarak MFMailComposeViewController olan ?? – Suryakant

+0

Ben değilim. UIDocumentInteractionController benim için bir şeyler yapıyor! Ben UIDocumentInteractionController MFMailComposeViewController delege olduğunu tahmin ediyorum. Başka bir senaryoda MFMailComposeViewController'a delege edeceğim ve oradan işleri halledeceğim. – nmdias

+3

Ne yazık ki API ne istediğinizi desteklemiyor. İdeal 'UIDocumentInteractionController' ait' annotation' özelliğini kullanmak mümkün olmalıdır ancak posta besteci özelliğinin yararlandığına dikkat görünmüyor (en azından belirten hiçbir belge yapılabilir yoktur). – rmaddy

cevap

2

Sen UIDocumentInteractionControllername özelliğini kullanarak Postalarınızın konuyu atayabilirsiniz:

_documentInteractionController.name = @"My custom mail subject"; 

Ne yazık ki bu o UIDocumentInteractionController aracılığıyla yapılandırılabilir ben çözdüm tek niteliktir.

+0

Maalesef bu işe yaramaz .. – GenieWanted

+0

@GenieWanted benim için çalışıyor. –

0

Maalesef Florians cevabı benim için çalışmadı. Dosyayı yerel olarak kopyalayıp URL'yi yerel dosyaya ayarladım. Adın ayarlanması sadece e-postadaki dosya adı veya konu değil, önizlemede başlığı değiştirdi. yani

NSFileManager* fileManager = [NSFileManager defaultManager]; 

NSError* err = nil; 

NSString* newPath = [appDocumentsFolder stringByAppendingPathComponent:name]; 
if (![fileManager copyItemAtPath:[[NSURL URLWithString:path] path] toPath:newPath error:&err]) { 
    // handle error 
} 

NSURL *fileURL = [NSURL fileURLWithPath:newPath]; 

_controller = [UIDocumentInteractionController interactionControllerWithURL:fileURL];