Исправлено расположение медиаплеера в альбомном и портретном режимах в 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];
}