2012-03-29 10 views
1

Wie öffne ich einen Dateibrowser, wenn eine Schaltfläche in meiner Anwendung in iphone angeklickt wird. Es muss die Dateien mit einer Erweiterung des .pdf-Format anzeigen.Und es Wenn wir zum Beispiel eine E-Mail an xyz senden wollen, fügen wir einige Dateien an, wenn wir Dateien senden wollen. Wenn wir auf eine Datei-Schaltfläche klicken, wird die Datei explorer.In angezeigt In gleicher Weise muss der Dateiexplorer geöffnet werden, wenn der Benutzer auf eine Schaltfläche im iPhone klickt. Bitte helfen Sie mir dabei.Wie öffne ich einen Dateibrowser und wähle eine .pdf-Datei in ios

Antwort

1

Ich habe etwas ähnliches mit meiner IOS-Anwendung. Da IOS nicht über einen Dateibrowser verfügt (und ich bin der Meinung, dass es in großen Thermen nur erlaubt ist, den Ordner der Anwendungsdokumente zu verwenden, wenn er zum Anhängen der Datei klickt) öffne ich einen UIPopoverController und zeige ihm alle Dateien mit der Endung I wollen. In meinem Fall waren die CSV-Dateien und ich verwende diesen Algorithmus:

 _data= [[NSMutableArray alloc] init]; 
    NSString *documentsPath= [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
    NSError *error; 
    NSArray* files= [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsPath error:&error]; 
    NSRange range; 

    for (NSString* file in files) { 
     range = [file rangeOfString:@".csv" 
          options:NSCaseInsensitiveSearch]; 
     if (range.location!= NSNotFound) { 
      [_data addObject:file]; 
     } 
    } 

Wo _data ein Array, das ich in meinem Tableview verwenden, um alle CSV-Dateien zu wissen, was ich habe. Wenn Sie dies als Dateibrowser tun möchten, zeigen Sie die Verzeichnisse an und lassen Sie den Benutzer die Dateien in den Verzeichnissen rekursiv sehen. Meine Tabelle Datenquelle:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
return [_data count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *CellIdentifier = @"Cell"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

if (cell==nil) { 
    cell= [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier]; 
}  
cell.textLabel.text=[_data objectAtIndex:indexPath.row];  
return cell; 
} 

Ich hoffe, es hilft Ihnen

Verwandte Themen