0

A well-known issue for developers setting a custom UIWindow and its rootViewController on external display with iDevices lightning / HDMI adapter, is that the TV-displayed view doesn't take the whole space when it could.

I know there are some workarounds :

  • use an Apple TV : no, for our use the latency makes it irrelevant
  • use a VGA cable : no, 1024x768 isn't enough

But there is also a specific case with video players : iOS makes them automatically fitting the full space.

Here is my question : is it feasible to create a video stream capturing my former rootViewController (putting it elsewhere far from the device's screen in the view hierarchy) then reading this stream with the native AV package to achieve my full-screen goal ?

BTW, if you just know another high resolution (1080p) and low latency workaround, that would do it too.

Pierre Mardon
  • 727
  • 8
  • 25

1 Answers1

1

Just setting the external display's UIScreen overscanCompensation to .scale works so there's really no need for any complicated streaming process.

Pierre Mardon
  • 727
  • 8
  • 25
  • I'm finding this doesn't work. Providing (in objective-C) a literal NSInteger value of 3 makes it 'usually' scale to full screen. the enum has no value of 3, so I don't know why this works. – horseshoe7 Oct 03 '17 at 13:05
  • We use Swift's `.scale` in production and it works very well most of the time. It may put black margins sometimes not depending on the hardware, it seems to have something to do with some timing of TV checking HDMI input. Sorry but I don't have a clue for your Objective-C problem, strange that it differs. – Pierre Mardon Oct 03 '17 at 13:26