在iOS的外部显示器上全屏显示

Alg*_*ger 2 external-display 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;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它无法在外部设备上显示全屏.

更改代码后 screen.overscanCompensation = UIScreenOverscanCompensationInsetBounds; , screen.overscanCompensation = UIScreenOverscanCompensationInsetApplicationFrame; 它可以显示全屏,但点(0,0)不在左侧屏幕的顶部.

我的目标是以全屏显示屏幕,并在屏幕的左上角有点(0,0).但它不起作用.

提前致谢

小智 6

改变这一行:

screen.overscanCompensation = UIScreenOverscanCompensationInsetBounds;
Run Code Online (Sandbox Code Playgroud)

screen.overscanCompensation = 3;
Run Code Online (Sandbox Code Playgroud)

这是一个没有记录的价值......