iOS - MPMediaPickerController - изменить barStyle - PullRequest
0 голосов
/ 05 сентября 2011

Я искал везде, и я не могу найти решение, которое работает ...

Я разрабатываю приложение, которое использует MPMediaPickerController и создает модальное представление, которое позволяет пользователю выбиратьпесня, чтобы играть.Мой основной вид имеет blackOpaque barStyle, и я хотел бы, чтобы Picker имел то же самое, но я не могу изменить barStyle или цвет в любом случае, который я пробовал.Вот фрагмент кода:

-(IBAction)showMediaBrowser:(id)sender  {
// Create a MediaPickerController object (alloc) and initialize with ONLY music type media
mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];

// CK - Set properties
mediaPicker.delegate = self;
mediaPicker.prompt = @"Choose your song:";
mediaPicker.navigationController.toolbar.barStyle = UIBarStyleBlackOpaque;

// CK - Present the model view and animate
[self presentModalViewController:mediaPicker animated:YES]; }

Спасибо

1 Ответ

3 голосов
/ 06 сентября 2011

Возможно (вероятно), что средство выбора мультимедиа не имеет навигационной панели инструментов в тот момент, когда вы пытаетесь установить стиль панели инструментов. Вы проверили, что mediaPicker.navigationController имеет значение?

Я бы порекомендовал встроить контроллер средства выбора медиаданных в вашу собственную иерархию представлений (документы для MPMediaPickerController говорят, что это возможно), и тогда вы получите полный контроль над панелью навигации из вашего собственного контроллера представления.

// create media picker controller
mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeMusic];

// set properties
mediaPicker.delegate = self;
mediaPicker.prompt = @"Choose your song:";

// get the media picker's view and set its frame
UIView *pickerView = mediaPicker.view;
pickerView.frame = myViewController.view.frame;

// add the media picker view to the view hierarchy
[myViewController.view addSubview:pickerView];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...