0

Я добавлял AVPlayerViewcontroller Programatically как этогонеудовлетворенных ограничения появляются после добавления AVPlayerViewController Programatically

 playerViewController = [[AVPlayerViewController alloc]init]; 
    playerViewController.view.frame = CGRectMake(40,60, 500, 700); 
    playerViewController.showsPlaybackControls=YES; 
    [self.view addSubview:playerViewController.view]; 

Я получаю так много ограничений, предупреждающих

> <NSAutoresizingMaskLayoutConstraint:0x14defa560 h=-&- v=-&- _UIBackdropContentView:0x14deae530.width == _UIBackdropView:0x14deab370.width>", 
"<NSLayoutConstraint:0x14dee1b70 H:|-(14)-[UILabel:0x14dee0ea0'Hi-Speed Scrubbing'] (Names: '|':_UIBackdropContentView:0x14deae530)>", 
"<NSLayoutConstraint:0x14dee1bf0 H:[UILabel:0x14dee0ea0'Hi-Speed Scrubbing']-(14)-| (Names: '|':_UIBackdropContentView:0x14deae530)>", 
"<NSLayoutConstraint:0x14dee1670 H:|-(0)-[_UIBackdropView:0x14deab370] (Names: '|':UIView:0x14deab090)>", 
"<NSLayoutConstraint:0x14dee16f0 H:[_UIBackdropView:0x14deab370]-(0)-| (Names: '|':UIView:0x14deab090)>", 
"<NSLayoutConstraint:0x14dee1330 H:|-(0)-[UIView:0x14deab090] (Names: '|':AVAlphaUpdatingView:0x14deaaad0)>", 
"<NSLayoutConstraint:0x14dee13b0 H:[UIView:0x14deab090]-(0)-| (Names: '|':AVAlphaUpdatingView:0x14deaaad0)>", 
"<NSLayoutConstraint:0x14defb080 'UIView-Encapsulated-Layout-Width' H:[AVAlphaUpdatingView:0x14deaaad0(0)]>" 

Я также попытался дать

playerViewController.view.translatesAutoresizingMaskIntoConstraints = NO 

Все еще я получаю проблемы с ограничениями. Может ли кто-нибудь, пожалуйста, дать мне решение?

+0

Вы уверены, что получите предупреждения о предупреждениях только после добавления playerViewController в свою иерархию представлений. – karthik

ответ

0

Я думаю, вы не должны устанавливать рамку своего playerviewcontroller. Вы можете управлять ей что-то вроде,

NSURL *videoURL = [NSURL URLWithString:@"url string here"]; 
AVPlayer *player = [AVPlayer playerWithURL:videoURL]; 
AVPlayerViewController *playerViewController = [AVPlayerViewController new]; 
playerViewController.player = player; 
[self presentViewController:playerViewController animated:YES completion:nil]; 

или вы можете добавить playerViewController's view к self.view вместо того, чтобы представить его как,

[self.view addSubview:playerViewController.view]; 

Update:

Попробуйте это,

NSURL *videoURL = [NSURL URLWithString:@"url string"]; 
AVPlayer *player = [AVPlayer playerWithURL:videoURL]; 
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player]; 
playerLayer.frame = self.view.bounds; 
[self.view.layer addSublayer:playerLayer]; 
[player play]; 

d убедитесь, что если у вас есть другие элементы управления, такие как label или button, тогда вы установили для этого соответствующие ограничения.

+0

Мне нужно playerviewconrtoller в качестве вида. .. добавив, как subview. Я получаю проблемы с ограничениями. –

+0

вы попробовали мой ответ? – Lion

+0

да, это не сработало –

0

Используйте автозапуск на вашем плеереViewController.