代码之家  ›  专栏  ›  技术社区  ›  iOS

在详细视图中播放电影、音频和显示文件夹的内容

  •  0
  • iOS  · 技术社区  · 14 年前

    我有一个表视图,它列出了一个目录的内容,其中包括jpg,pdf,zip,mp3,mp4,sql,。。文件甚至文件夹。下一步,我有一个detailView,它显示所选文件的一些属性,如fileName、fileSize、filePath、fileType。一切都很完美。

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

    也就是说,

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

    希望我的概念被叙述了。请帮我处理一些示例代码。提前谢谢你。。

    1 回复  |  直到 14 年前
        1
  •  0
  •   WrightsCS    14 年前

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

    例如(请参阅Apple提供的示例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];