2
我只想在外部显示器上显示全屏。在iOS的外部显示器上显示全屏
我用这样的代码:
- (void) startTvOut {
NSArray *screens = [UIScreen screens];
CGSize max;
max.width = 0;
max.height = 0;
UIScreenMode *maxScreenMode = nil;
for (UIScreen *screen in screens)
{
if (screen != [UIScreen mainScreen])
{
for(int i = 0; i < [[screen availableModes] count]; i++)
{
UIScreenMode *current = [[screen availableModes] objectAtIndex: i];
if (current.size.width > max.width)
{
max = current.size;
maxScreenMode = current;
}
}
if (exWindow == nil)
{
exWindow = [[HUWindow alloc] initWithFrame:screen.brounds];
exWindow.backgroundColor = [UIColor whiteColor];
}
screen.overscanCompensation = UIScreenOverscanCompensationInsetBounds;
screen.currentMode = screen.preferredMode;
exWindow.screen = screen;
[exWindow makeKeyAndVisible];
m_isStarted = YES;
}
}
}
它不能显示外部设备上全屏显示。
后,我的代码 改变从 screen.overscanCompensation = UIScreenOverscanCompensationInsetBounds;
到 screen.overscanCompensation = UIScreenOverscanCompensationInsetApplicationFrame;
可以全屏显示,但点(0,0)是不是在左侧屏幕的顶部。
我的目标是以全屏显示屏幕,并在屏幕左上角显示(0,0)。但它不起作用。
在此先感谢
这个工作中的iOS 9,但没有按”不再像iOS 10 – tmm1 2016-10-25 16:24:25
一样,尽管这是最好的解决方案,但我注意到使用这个3d的值不保证屏幕将被填满。有时是的,有时没有。很奇怪。 – horseshoe7 2017-10-03 13:08:05