Исправлено расположение медиаплеера в альбомном и портретном режимах в xcode

Я создал медиаплеер в xcode с подписью под видео. У меня возникают проблемы с макетом, когда устройство переходит в альбомный режим. Я реализовал метод changeView, который перемещает медиаплеер при вращении устройства. Это прекрасно работает, если вы начинаете в портретном режиме, а затем поворачиваете устройство. Однако, когда вы находитесь в портретном режиме и переходите к экрану с помощью медиаплеера, он не перемещается в нужное место. Я реализовал метод в методе viewdidload, но это не решило проблему. Как сделать так, чтобы он находился в правильном месте в ландшафтном режиме, когда я перехожу на страницу, когда уже в альбомной ориентации?

мой код для контроллера представления, содержащего медиаплеер:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[self changedView];

self.title =@"Catalase";
[self.cAidButton setTitle:@"Identification Flowchart" forState:UIControlStateNormal];

NSURL* catalaseurl = [[NSURL alloc]initWithString:@"example.com"];     
catalaseplayer = [[MPMoviePlayerController alloc]initWithContentURL:catalaseurl];  
[catalaseplayer.view setFrame:CGRectMake(50, 214, 674, 481)];   
[self.view addSubview:catalaseplayer.view];

//additional customization
catalaseplayer.fullscreen = YES;
catalaseplayer.shouldAutoplay = NO;
catalaseplayer.controlStyle = MPMovieControlStyleDefault;
}
-(void)changedView{
    UIInterfaceOrientation theOrientation = self.interfaceOrientation;
    if(theOrientation == UIInterfaceOrientationPortrait || theOrientation ==      UIInterfaceOrientationPortraitUpsideDown){

      [catalaseplayer.view setFrame:CGRectMake(50, 214, 674, 481)];
  }
  else{
           [catalaseplayer.view setFrame:CGRectMake(152, 95, 721, 493)];
    }

}
    -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation   {
    [self changedView];
    }

0 ответов

Другие вопросы по тегам