2010-11-17 170 views
0

我有一个tableView,它列出了包含jpg,pdf,zip,mp3,mp4,sql,..文件甚至文件夹的目录的内容。对于下一步,我有一个detailView显示所选文件的一些属性,如fileName,fileSize,filePath,fileType。一切都很完美。详细查看文件夹中的电影,音频和显示内容查看

但实际上我的计划是在detailView中包含一个附加选项。

即,

  1. 如果在的tableView所选择的文件是一个图像文件时,它应该打开在一个的DetailView的ImageView以显示该图像。
  2. 如果所选文件是mp3,则应打开播放器以在detailView中播放歌曲。
  3. 如果所选文件是视频或mp4文件,则应打开播放器以在详细视图中播放该视频。
  4. 如果选定的项目是一个文件夹,它应该再次打开一个tableView,它显示该文件夹的内容。
  5. 对于其他文件,它应该推送一个alertView关于它是未知文件。

希望我的想法能够被叙述。请帮我做一些示例代码。预先感谢您。

回答

0

根据文件类型创建动态detailView,处理图像的控制器,处理视频的控制器等。

例如(指由苹果提供的样品SplitViewController):

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

对不起..你能在关于如何创建一个动态的DetailView用的一些源代码帮助详细介绍一下? – iOS 2010-11-18 03:30:28

+0

谢谢..它的工作.. – iOS 2010-11-18 12:28:02