2010-11-17 3 views
0

У меня есть таблицаView, в которой перечислены содержимое каталога, которое содержит файлы jpg, pdf, zip, mp3, mp4, sql, .. и даже папки. Для следующего шага у меня есть detailView, который отображает некоторые свойства выбранного файла, такие как fileName, fileSize, filePath, fileType. Все работает отлично.Просматривайте содержимое фильма, аудио и содержимое папки в подробном представлении

Но на самом деле мой план состоит в том, чтобы включить дополнительный параметр в detailView.

То есть,

  1. Если выбранный файл в Tableview файл изображения, он должен открыть ImageView в DetailView для отображения этого изображения.
  2. Если выбранный файл является mp3, он должен открыть плеер, чтобы воспроизвести песню в detailView.
  3. Если выбранный файл является видео или файлом mp4, он должен открыть плеер, чтобы воспроизвести это видео подробно.
  4. Если выбранный элемент является папкой, он должен снова открыть таблицуView, которая разослает содержимое папки.
  5. Для других файлов он должен нажать alertView относительно того, что это неизвестный файл.

Надеюсь, что моя концепция была передана. Пожалуйста, помогите мне приступить к некоторым образцовым кодам. Заранее благодарю вас.

ответ

0

Создайте динамический detailView, контроллер для обработки изображений, контроллер для обработки видео и т. Д. На основе типа файла.

Например (см Sample SplitViewController, предоставленной компании 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

К сожалению .. Можете ли вы объяснить подробно о том, как создать динамическую DetailView с помощью некоторого исходного кода? – iOS

+0

Спасибо .. Это работает .. – iOS

Смежные вопросы