【发布时间】:2014-05-26 17:29:07
【问题描述】:
我正在尝试在 TwitchTV 应用中实现流式视频的缩放:
应该是相当严格的。我有一个滚动视图,我向其中添加了内容视图,该视图用作所有需要缩放的子视图的容器。它适用于简单的 UIViews 或 UIImageViews:
- (void)viewDidLoad
{
[super viewDidLoad];
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.jpg"]];
[self.imageView setFrame:self.scrollView.bounds];
self.contentView = [[UIView alloc] init];
[self.contentView setFrame:self.scrollView.bounds];
[self.contentView addSubview:self.imageView];
[self.scrollView addSubview:self.contentView];
self.scrollView.minimumZoomScale = 0.5;
self.scrollView.maximumZoomScale = 1.0;
self.scrollView.delegate = self;
self.scrollView.zoomScale = 1.0;
}
- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.contentView;
}
但是,如果我将 MPMoviePlayerController 的视图添加为 contentView 的子视图,它不会正确缩放。如果 scrollView 的 contentSize 等于其边界,则捏缩放不起作用,并且仅当我在 scrollView 滚动时捏住时才起作用。有什么问题?
这是我初始化 MPMoviePlayerController 的方式:
- (void)viewDidLoad
{
[super viewDidLoad];
// Initialize contentView
[self setupMovie];
[self.contentView addSubview:self.moviePlayerController.view];
[self.scrollView addSubview:self.contentView];
// Zoomscale stuff etc
}
- (void)setupMovie
{
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:self.movieURL];
if (player)
{
self.moviePlayerController = player;
[player setContentURL:movieURL];
[player setMovieSourceType:MPMovieSourceTypeStreaming];
[player.view setFrame:self.contentView.bounds];
[player view].backgroundColor = [UIColor blackColor];
}
}
【问题讨论】:
标签: ios uiscrollview zooming mpmovieplayercontroller