MPMoviePlayerController将不会设置为我声明的大小框架

Ell*_*rez 4 xcode resize objective-c mpmovieplayercontroller uiview

我目前正在尝试为MPMoviePlayerController设置框架,该框架存储在自定义类(VideoEngine)中.使用由用户在应用期间捕获的视频提供的URL来设置电影.(我希望这一点有道理).然后我按如下方式设置MPMoviePlayerControllers视图:

    - (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    //[self.image setImage:[info objectForKey:UIImagePickerControllerMediaURL]];
    videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
    [parentView dismissModalViewControllerAnimated:NO];

    VideoEngine *ve = [[VideoEngine alloc] initWithCallbackName:@"movieFinishedPlaying"];
    [ve loadMovieURL:videoURL];
    [ve.player.view setFrame:CGRectMake((0 + self.frame.size.width * 0.2), self.frame.size.height * 0.3, self.frame.size.width * 0.6, self.frame.size.width * 0.4)];

    CGRect frame = ve.player.view.frame;

    self.video = ve;
    [self addSubview:self.video.player.view];
    [ve release];
}
Run Code Online (Sandbox Code Playgroud)

首先,我想指出,我知道高度值是使用宽度设置的,但是要保持它更宽,然后它是高的(不要讨论目前这样做的方式).正如你所看到的,我有一个指向视图框架的指针,所以我可以检查这些值(它不会让我直接使用po访问).以下是值的屏幕截图:

帧输出

正如你所看到的(差不多),框架是192宽x 128高,很好.但是,当我在手机中查看它时,它看起来如下:

手机截图

手机的所有旋转都已禁用,因此旋转时不应该尝试以奇怪的方式调整大小.我对此感到非常困惑,所以如果有人有任何想法,我将非常感激.

Ell*_*rez 20

好吧,事实证明MPMovieScaling模式设置为方面适合,我不知道我是如何忽略这一点但只是因为人们正在遇到同样的问题,你只需要在某处设置它:

[mpMoviePlayerControllerInstance setScalingMode:MPMovieScalingModeFill];
Run Code Online (Sandbox Code Playgroud)


NAN*_*NAV 8

将MPMoviePlayerController更改为您的电影播放器​​名称

[yourplayername setScalingMode:MPMovieScalingModeFill];
Run Code Online (Sandbox Code Playgroud)

//它适合视图的全帧