2009-08-24 18 views
12

Quali sono tutti i formati di file supportati da UIWebView? Durante i miei test, ho trovato che supporta XLS, DOC, PPT, PDF ma non XLSX e DOCX, RTF.Formati di file supportati da UIWebView

Esso supporta i file di immagine come, JPG, PNG, GIF, BMP, non è sicuro su TIFF o

Esattamente, quello che tutti i tipi sono supportati non è chiaro ...

La documentazione UIWebView anche doesn' lo dichiari chiaramente.

Qualcuno potrebbe aiutarmi?

risposta

13

una nota tecnica è accessibile Apple Website sui formati di file supportati da UIWebView:

Dal iPhone OS 2.2.1

  • Excel (.xls)
  • Keynote (.key.zip
  • Numeri (.numbers.zip)
  • Pagine (.pages.zip)
  • PDF (.pdf)
  • Powerpoint (.ppt)
  • Word (.doc)

Dal iPhone OS 3,0

  • Rich Text Format (.rtf)
  • Directory in formato RTF (.rtfd.zip)
  • Keynote '09 (.key)
  • Numbers '09 (.numbers)
  • Pages '09 (.pagine)
2

Sto cercando una risposta definitiva su questo, troppo.

Mentre la nota tecnica indica quali formati di alto livello sono supportati, non ci dice quali formati semplici, ad es. tipi di immagine, sono supportati. Ho bisogno di queste informazioni, tuttavia, per consentire a un server Web di sapere quali formati possono inviarmi (ad esempio tramite l'intestazione "Accetta" di http).

Aggiornamento

Uh, in realtà, ecco la documentazione di Apple sui formati di immagine supportati da UIWebView: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/GraphicsandDrawing/GraphicsandDrawing.html#//apple_ref/doc/uid/TP40007072-CH10-SW8

+7

collegamento è rotto ... – HyBRiD

1

file .rtf sono apparentemente supportato, ma non sono riuscito a ottenere l'UIWebView per visualizzare in modo corretto . Formatterà correttamente il testo (dimensione, colore, carattere ecc.) Ma le immagini non sono state renderizzate (ho provato .gif, .png e .jpg senza alcun risultato). è probabile che, se hai intenzione di utilizzare il file .rtf, probabilmente stai sperando di visualizzare le immagini in UIWebView, poiché il vantaggio principale di rtf è che puoi incorporare le immagini nel file. Questo è stato provato su un iPad 1 (4.3) e su un iPhone simulato (4.3).

Il codice eseguito per visualizzare il rtf in un UIWebView richiedeva che il rtf venisse scritto in un file con l'estensione del file rtf. Si è rifiutato di caricare il file se non si utilizza alcuna estensione di file o non corretto, quindi assicurati di scriverlo come .rtf.

Ecco una funzione obiettivo C di prendere una stringa di input (che dovrebbe contenere il formato RTF che si desidera visualizzare) e ottenere l'UIWebView per caricarlo in vista ...

-(void) loadRtf : (UIWebView*) webView : (std::string) rtfFile 
{ 
    // This function will write the rtf to a file in your apps bundle location on the iDevice and use 
    // the UIWebView to load it... 
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *basePath = ([path count] > 0) ? [path objectAtIndex:0] : nil; 
    NSString *fullPath = [basePath stringByAppendingPathComponent:@"rtfData.rtf"]; 
    std::string fp = [fullPath cStringUsingEncoding:NSASCIIStringEncoding]; 
    std::ofstream fs; 
    fs.open(fp.c_str(), std::ios_base::binary); 
    if(!fs.is_open()) 
     return; 
    fs << rtfFile; 
    fs.close(); 
    NSURL *url = [NSURL fileURLWithPath:fullPath]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:request]; 
} 
+0

Ho provato a memorizzarlo come file e caricarlo come hai descritto (ho usato un altro codice a causa di C#). Questo non l'ha cambiato. È lo stesso comportamento come 'loadData'. – testing

Problemi correlati