Problem: iPhone screen mirroring & a dedicated external view of my app show an inch of a black border on all sides.
But: Some views display perfect without black borders on the full-screen, e.g., the Apple TV menu and the photo app.
Tried already - with no effect:
Disabled overscan on 1080p HD TV ("Disable 16:9 overscan") ( iPad Mirroring using 2 screens, does it support 1080 resolution? )
set UIScreenOverscanCompensation - has no effect ( IOS - External (hdmi) output fills only half the screen except when coding view manually )
Setup: iPhone 4S (5.0.1), Apple TV 2nd generation (4.4.4)
Any suggestions what I could try additionally?
Ran into the same issue and it took a while to find the 'solution'. Turns out you can set the overscanCompensation to '3' and it will remove the borders.
I think Apple just left out the documentation & enum for UIScreenOverscanCompensationNone, but that down in the code they check for it.
If you also have black borders during AirPlay Mirroring the answer Of MobileVet won't solve that. Try changing the following setting on your Apple TV: Settings > Audio & Video > Adjust For AirPlay Overscan. Set it to Off (default On).
And btw: doesn't 3 just mean UIScreenOverscanCompensationInsetBounds | UIScreenOverscanCompensationApplicationFrame (1 + 2) ?
Due to changes in iOS 13 for displaying content on a connected screen, I had to set screen.overscanCompensation = .scale after we find the connected window scene. I noticed this after I got a message in the console, if you try to set it directly in the .UIScreenDidConnect notification.
Related
I just recognized that I can see thru the iOS Simulator if an UIView is defined with (semi-) transparent content. But I can not make a screenshot of it, on the screenshot the effect is gone.
The (custom) navigation bar on top has alpha set to CGFloat(0.9).
Here a screenshot taken with an iPhone 6:
Zoom in and you can see thru the simulator window on Xcode. I assume this is a bug, or is it intended behavior of the OS X transparency effects? If it is intended, can I turn it off?
Ok, I have found the problem. Actually it is not a transparency effect but a display problem. I am using an iMac 27inch with an IPS LCD display, which suffers heavily from "screen burning". Xcode is standing on this position for hours so it burned in into the display. That's why I can not make a screenshot - it is a hardware problem.
https://discussions.apple.com/thread/5255653?tstart=0
Yeah this is going to be a hardware / screen problem. Should not translate to your app.
Problem: The external screen connected through HDMI cable shows black borders on all sides. I already have tried setting the overscanCompensation property with no luck.
The problem occurs only if app is run on iOS 8, on iOS 7 external (TV) screen shows no borders.
I can't find overscan configuration on my Samsung TV though.
Any suggestions what I could try additionally?
Until now I can't find any solution to this black border... The old tricks like set the
overscanCompensation to '3' does not work now.
Workaround with Apple TV:
If you can use an Apple TV, you are able to disable this overscaling on your Apple TV: Settings > Audio & Video > Adjust For AirPlay Overscan. Set it to Off (default On).
I hope that Apple will create an option the user to be able to disable this on his/her iDevice...
I've come accros a problem with iOS 8 on the iPhone6 and simulator, when you have a UITableViewController with visible separators there seems to be some render problem. Now I could post some code but really if you make just a simple UITableViewController you would have the same problem, just look at eBay and Kijiji they all have this issue.
Normally you wouldn't see this small difference if it only happened once in a blue moon but if you scroll none stop you will see it flash. (less on Ebay since their separators are too close to white but Kijiji is pretty apparent)
Sorry I wanted to post a screenshot but sadly I don't yet have the reputation to do so therefore you will have to try it out yourself's.
Any help would be appreciated
Thanks
The reason why the separators flash is because the app is not designed for the larger displays, and the phone is upscaling the app to fill the larger screen. Since the separator height becomes fractional, the separator line crosses pixel boundaries and becomes antialiased, making it appear wider, lighter, and/or darker than normal.
The answer is to (wait for the developer to) update the app to support the native resolutions of the iPhone 6 and 6 Plus.
You can enable native resolution in your own app by adding launch images or a launch screen file.
Launch images
iPhone 6 requires a portrait launch image of 750x1334.
iPhone 6 Plus requires both portrait (1242 x 2208) and landscape (2208 x 1242) launch images, since it can launch apps in landscape as well as portrait.
Launch screen file (iOS 8)
You can add a launch screen storyboard or nib through Xcode.
In Xcode 6, open the File menu and choose New > File... > iOS > User Interface > Launch Screen.
In the General tab for your project's settings, look for the App Icons and Launch Images section. Set the Launch Screen File to the name of the file you created. This will set the UILaunchStoryboardName key in your Info plist.
Add Renders with edge antialiasing in your plist file, fixed the problem for me.
Remove the Clips Subviews on my custom cell did fix the issue for me.
I am working on an iPad application, and I have to give a demo on a television through HDMI, but iPad screen only appears in the middle of the TV screen.
How can I make my app fill the whole TV, without leaving black spaces on the sides?
I have seen another app that covers the whole screen of the TV.
It sounds like you want to mirror your iPad display onto the tv?
If that is the case then you cannot change the aspect ratio because you are mirroring your 1024x768 screen.
Status board is designed specifically to support a second screen and does not mirror the iPads display.. this is done because the second UIScreen has a size that supports the physical screen.
If you want to optimize your app to support a second screen then check this out: https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/WindowAndScreenGuide/UsingExternalDisplay/UsingExternalDisplay.html
Otherwise I'm aftaid you have to live with the black borders..
Think about it, if you tried mirroring your macs monitor onto an external display then this would still be the case
i think about extending support within one of my apps to handle a second screen via AppleTV.
The question is:
If i just mirror my App, the nice 46" LCD TV shows only a 4:3 Letterbox Image of my App. Is it possible to use the full 16:9 ratio if i change my app to render a different screen for Apple TV / AirPlay?
Absolutely. In iOS 5, a mirrored AirPlay screen can be used as a secondary UIScreen, which can have content different from what is on the device screen. That's what you want to do.
You can see how to do this here:
https://github.com/quellish/AirplayDemo
Your device screen is mirrored until you start using that secondary UIScreen, and you can remove the window you attach the to the UIScreen and go back to mirroring. This lets you control when you're putting custom content on there, and when you're just mirroring.
Absolutely - see Real Racing HD 2 for a great example!