iPhone MPMoviePlayer 获取按钮视图
-
20-09-2019 - |
题
谁能建议我如何获取包含“MPMoviePlayer”中所有按钮的视图?
如果您不知道,至少知道如何获取 MPMoviePlayer 的主视图/窗口。
更新: 我需要这样做来在控制器视图上添加一个按钮。它看起来像这样:示例http://img338.imageshack.us/img338/5184/poz.jpg
提前致谢!
解决方案
您不能将其直接添加到 MPMoviePlayerController 的视图中——这是一个私有视图,无法访问。如果要添加按钮,则需要在所有内容的顶部创建一个透明窗口,然后将按钮添加到其中。
苹果 电影播放器 示例展示了如何执行此操作。
其他提示
上面的答案实际上是错误的:该视图不是私有的,您可以向其中添加视图。你只需要潜入足够深的地方就能找到它。
例如,在 iOS 5.1 中,您可以尝试这样的操作:
UIView *fullscreenOverlayView = [[[[[[[mpPlayer view] subviews] objectAtIndex:0] subviews] objectAtIndex:0] subviews] objectAtIndex:2];
[fullscreenOverlayView addSubview:ccButton];
这会将 CC 按钮添加到视图中,如果您为 CC 按钮的框架指定正确的值,它将将该按钮插入到控制面板中,并在触摸控制面板时隐藏/显示它。供参考:这是我使用的框架:
BOOL isPortrait = UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation);
// all of these values are just based on measurement on screen
// to make sure that the CC button "seems" to be part of the player's control panel
if (isPortrait)
{
return CGRectMake(222, 880, 40, 40);
}
else {
return CGRectMake(350, 625, 40, 40);
}
笔记:[mpPlayer view] 的子视图集对于不同的 iOS 版本是不同的,因此仅将此视为一种解决方法。无法保证这在 iOS 6 上有效,并且在 iOS 4.3 上会崩溃。
不隶属于 StackOverflow