Используя средство выбора элемента носителей
Средство выбора элемента носителей является предварительно упакованным контроллером представления для разрешения пользователю выбрать элементы носителей из библиотеки iPod устройства. Используя средство выбора очень просто:
Определяйте объект контроллера как делегата средства выбора.
Вызовите средство выбора от контроллера.
Когда пользователь указывает, что они закончены, делегат получает выбранный набор элементов носителей и отклоняет средство выбора.
Установка делегата средства выбора элемента носителей
Для установки объекта контроллера как делегата средства выбора элемента носителей сначала добавьте имя протокола в объявлении интерфейса в заголовочном файле контроллера, следующим образом:
@interface myController : UIViewController <MPMediaPickerControllerDelegate> { |
// interface declaration |
} |
Затем, реализуйте эти два метода делегата из того протокола. Первый метод, показанный в Перечислении 3-1, реагирует на пользователя, выбиравшего некоторые элементы носителей. Это отклоняет средство выбора и вызывает метод обновления очереди воспроизведения контроллера.
Перечисление 3-1 , Отвечающее на новый набор элементов носителей от средства выбора
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker |
didPickMediaItems: (MPMediaItemCollection *) collection { |
[self dismissModalViewControllerAnimated: YES]; |
[self updatePlayerQueueWithMediaCollection: collection]; |
} |
Например, код, показывающий, как обновить очередь воспроизведения, см. Перечисление 2-5.
Второй метод делегата средства выбора обрабатывает случай пользовательского ответвления, Обошедшегося без то, что выбрал любые элементы для игры. См. Перечисление 3-2 для базового внедрения.
Перечисление 3-2 , Отвечающее, если пользователь отменяет средство выбора
- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker { |
[self dismissModalViewControllerAnimated: YES]; |
} |
Отображение средства выбора элемента носителей
Перечисление 3-3 показывает, как сконфигурировать и вывести на экран средство выбора элемента носителей — включая установление объекта контроллера как делегат средства выбора.
Перечисление 3-3 , Выводящее на экран средство выбора элемента носителей
MPMediaPickerController *picker = |
[[MPMediaPickerController alloc] |
initWithMediaTypes: MPMediaTypeAnyAudio]; // 1 |
[picker setDelegate: self]; // 2 |
[picker setAllowsPickingMultipleItems: YES]; // 3 |
picker.prompt = |
NSLocalizedString (@"Add songs to play", |
"Prompt in media item picker"); |
[myController presentModalViewController: picker animated: YES]; // 4 |
[picker release]; |
Вот то, как работает этот код:
Создает средство выбора элемента носителей. Параметр указывает вид элементов носителей для отображения. Для опций посмотрите
Media Item Type Flags
перечисление.Устанавливает Ваш объект контроллера как делегата.
Указывает, что пользователь может выбрать многократные элементы. Можно вместо этого вывести на экран средство выбора единственного элемента исключением этого оператора; поведение по умолчанию состоит в том, чтобы запретить множественный выбор.
Выводит на экран средство выбора.
myController
объект сохраняет его так, Вы тогда выпускаете его для балансированияalloc
вызвать.