2010-11-17 28 views
0

J'ai une tableView qui répertorie le contenu d'un répertoire qui comprend jpg, pdf, zip, mp3, mp4, sql, .. fichiers et même des dossiers. Pour l'étape suivante, j'ai un detailView qui affiche certaines propriétés du fichier sélectionné, telles que fileName, fileSize, filePath, fileType. Tout fonctionne parfaitement.Lecture de contenu vidéo, audio et affichage d'un dossier en détailVue

Mais en fait mon plan est d'inclure une option supplémentaire dans le detailView.

C'est,

  1. Si le fichier sélectionné dans le tableView est un fichier image, il devrait ouvrir un imageView dans le DetailView pour afficher cette image.
  2. Si le fichier sélectionné est un fichier mp3, il doit ouvrir un lecteur pour lire la chanson dans le détail.
  3. Si le fichier sélectionné est un fichier vidéo ou mp4, il doit ouvrir un lecteur pour lire cette vidéo en détailView.
  4. Si l'élément sélectionné est un dossier, il doit de nouveau ouvrir une tableView qui dispalys le contenu du dossier.
  5. Pour les autres fichiers, il faudrait appuyer un alertView concernant le fait qu'il s'agit d'un fichier inconnu.

Espérons que mon concept a été raconté. Aidez-moi s'il vous plaît à procéder avec quelques exemples de codes. Merci d'avance ..

Répondre

0

Créez un détail détaillé dynamique, un contrôleur pour gérer les images, un contrôleur pour gérer la vidéo, etc. en fonction du type de fichier.

Par exemple (voir la SplitViewController de l'échantillon fourni par Apple):

UIViewController <SubstitutableDetailViewController> *detailViewController = nil; 

if("movie cell tapped"){ 
    MovieViewController *newDetailViewController = [[MovieViewController alloc] init]; 
    detailViewController = newDetailViewController; 
} 
if("image cell tapped"){ 
    ImageViewController *newDetailViewController = [[ImageViewController alloc] init]; 
    detailViewController = newDetailViewController; 
} 
/* and so on */ 


// Update the split view controller's view controllers array. 
NSArray *viewControllers = [[NSArray alloc] initWithObjects:self.navigationController, detailViewController, nil]; 
splitViewController.viewControllers = viewControllers; 
[viewControllers release]; 

// Dismiss the popover if it's present. 
if (popoverController != nil) { 
    [popoverController dismissPopoverAnimated:NO]; 
} 

// Configure the new view controller's popover button (after the view has been displayed and its toolbar/navigation bar has been created). 
if (rootPopoverButtonItem != nil) { 
    [detailViewController showRootPopoverButtonItem:self.rootPopoverButtonItem]; 
} 

[detailViewController release]; 
+0

Désolé .. Pouvez-vous expliquer en détail sur la façon de créer une dynamique DetailView avec une aide de quelque code source? – iOS

+0

Merci .. Cela fonctionne .. – iOS