iPhone-MPMediaPlayer отключить кнопку поиска вперед

Я хочу удалить или отключить кнопку поиска вперед в MPMediaPlayer. Я попытался перечислить все просмотры, но, видимо, мне не удалось найти эту кнопку.

Есть у кого-нибудь идеи?

Спасибо.


person Andrei Neacsu    schedule 29.09.2011    source источник
comment
предоставьте код или дополнительную информацию о том, что вы на самом деле делаете ...   -  person DShah    schedule 29.09.2011
comment
Я представляю MPMediaPlayerViewController для воспроизведения фильма. Крайне важно не допускать быстрой перемотки пользователя к фильму. Но функции возврата и воспроизведения / паузы должны работать.   -  person Andrei Neacsu    schedule 29.09.2011


Ответы (2)


Вы всегда можете предоставить настраиваемую панель управления, вы можете скрыть элементы управления по умолчанию с помощью

playerController.controlStyle = MPMovieControlStyleNone;

Затем добавьте подвид, содержащий ваш интерфейс, и просто свяжите кнопки для воспроизведения / паузы, начала / остановки перемотки, и есть реализация ползунка переменной скорости с открытым исходным кодом (OBSlider). Вам также необходимо будет зарегистрироваться для получения некоторых уведомлений MP:

MPMovieDurationAvailableNotification
MPMoviePlayerLoadStateDidChangeNotification
MPMoviePlayerPlaybackDidFinishNotification
MPMoviePlayerPlaybackStateDidChangeNotification
person jbat100    schedule 10.10.2011
comment
Мне только нужно отключить кнопку поиска вперед. - person Andrei Neacsu; 11.10.2011

Единственный способ, который я нашел, - это добавить прозрачную кнопку над кнопкой поиска вперед. Вот код:

- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];

    UIButton *button = [[UIButton alloc] init];

    if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
        [button setFrame:CGRectMake(535, 599, 90, 60)];
    else
        [button setFrame:CGRectMake(407, 855, 90, 60)];

    [button setBackgroundColor:[UIColor clearColor]];
    [button setAlpha:0.7];
    [button setTag:1200];

    [self.moviePlayer.view addSubview:button];
    [button release];
}


- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if(UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
    {
        UIButton *button = (UIButton *)[self.moviePlayer.view viewWithTag:1200];
        [button setFrame:CGRectMake(535, 599, 90, 60)];
    }
    else
    {
        UIButton *button = (UIButton *)[self.moviePlayer.view viewWithTag:1200];
        [button setFrame:CGRectMake(407, 855, 90, 60)];
    }
}

ТОЛЬКО ДЛЯ IPAD! Если вы хотите сделать то же самое на iPhone, измените положение прозрачной кнопки.

person Andrei Neacsu    schedule 11.10.2011
comment
А когда Apple меняет положение контроллера в обновлении, что тогда? - person Alastair Stuart; 11.10.2011
comment
Тогда найдите другой способ сделать это, если вам не нравится этот ответ. : P ... ох, и способ, принятый Apple. Спасибо - person Andrei Neacsu; 11.10.2011