我的应用程序支持 HDMI 输出。
我询问了电视分辨率的代码,得到了 1920 x 1080 px
externalScreen.bounds
好的,一切都很好。我已经设置了我的视图并在电视上尝试过......
BUT:有黑条尽管电视被正确检测为 1920 x 1080 并且我的视图也设置正确,但在屏幕的底部/顶部/侧面?
为什么格式不对?
附:当我镜像主屏幕时,它也会显示黑条,当我使用 Youtube 应用程序观看视频时,黑条消失了?
感谢您的帮助!
Update:
好的,虽然我在控制台中得到了这个输出:
A new screen got connected: <UIScreen: 0x3439a0; bounds = {{0, 0}, {1920, 1080}}; mode = <UIScreenMode: 0x345240; size = 1920.000000 x 1080.000000>>
...我仍然得到黑框。我用以下方式初始化我的视图CGRectMake(0.0f,0.0f,1920.0f,1080.0f)
出于测试目的。
这是我在屏幕上看到的视图(注意黑条):
主屏幕会有黑条,因为宽高比不匹配 16:9(我认为是 4:3)。至于外部显示器,检查主视图的框架(应该跨越屏幕的视图)。可能没有设置为 1920 x 1080
编辑:我在一个项目中使用了这段代码,我必须从 iPad 输出到 1920 x 1080 显示器,并且它有效
- (void) screenDidConnect:(NSNotification *)aNotification
{
NSLog(@"A new screen got connected: %@", [aNotification object]);
//[self printScreenInfo];
UIScreen* newScreen = [aNotification object];
CGRect screenBounds = newScreen.bounds;
if (!self.externalWindow)
{
self.externalWindow = [[UIWindow alloc] initWithFrame:screenBounds];
self.externalWindow.screen = newScreen;
self.externalViewController.view.frame = externalWindow.frame;
[self.externalWindow addSubview:externalViewController.view];
self.externalWindow.hidden = NO;
// Set the initial UI for the window.
// [externalViewController displaySelectionInSecondaryWindow:externalWindow];
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)