If you build to a simulator with dimensions too large to fit on your screen, it'll throw it into a nice, neat little regular OS window, rather than the "Oh look, it's an iPhone on my screen!" thingy.
I'd like it to always do that, even with a non-retina phone whose dimensions can fit on my display. I don't ever want to see the graphic bezel around the outside.
Is that possible?
To not show the graphic bezel either change the iOS Simulator device under hardware -> device to iPhone Retina 3.5 inch or iPhone Retina 4 inch. Another solution is you can keep the "iPhone" device setting and change the window scale. Either of these will remove the bezel.
Related
I have three collection views with flow layout. The first and second have always the same height and cell sizes. The third one and the distance between them will be scaled for the different iPhone sizes.
In the different simulators everything works great.
On my iPhone X everything ok.
On three other real devices from external tester everything ok.
(iPhone 7, iPhone 7+, iPhone 8+)
And now I have one external tester with an iPhone 6s. He sent me a screenshot and it looks like, that everything is scaled/zoomed/blown up. (even the buttons) I can see that he has activated "button shapes" from the accessibility features, but I can't replicate that error.
Does someone has an idea, what this could be?
from tester:
from simulator:
The problem is that in your code you are basing the size of your interface objects on the type of device. Thus you are making a false assumption that if you know the device type you know the screen dimensions. That's wrong. You need to base them on the actual dimensions of the screen.
The reason is that devices like the iPhone 6s can have different virtual screen dimensions depending on whether the user has the device in standard or zoomed display mode.
I noticed something that when you remove the launch screen file entry from the XCode Info.plist file, any view of any view controller becomes scaled according to the screen size, so the views appear zoomed in on large screen sizes such as the iPad Pro (12.9 inches) and appear somehow zoomed out on smaller devices (iPad Pro 9.7 inches).
In that case it seems that the Auto Layout constraints have no effect as the scaling is done automatically.
I really can't understand what does this has to do with the layout constraints, so I appreciate if any one can explain what's the reason for that.
Without being able to provide deep details, iOS uses the launch screen definition (view or static images) to determine which size classes the app should use. If you have not supplied those, it seems you get scaling that you generally do not want.
That doesn't mean auto-layout no longer has any affect... it just means that the auto-layout engine is not using the current screen size for its size/positioning calculations.
You'll see very similar results if you explicitly set your project for iPhone only.
Simple, obvious solution: Don't remove the launch screen.
Yes this is expected behaviour... Same is for iPhone 6 Plus. If you remove the iPhone 6 Plus launch screen, it will display the iPhone 6 scaled version.
This is just for backward compatibility. If your app is not ready for iPad Pro or iPhone 6+, scaled version can be used by removing the respective splashing screens.
All current iPhone apps or iPad apps in AppStore those are not optimised runs as a scaled version.
How can I get the default keyboard to be shorter like the keyboard on the right?
The standard keyboard is the left, how do I get it to have the height of the one on the right?
The left keyboard is not taller than the right keyboard— they are the same height, in points. The difference is in the scale of the screen; i.e. the pixels are smaller on the right. Assuming that these are the same device, the difference is caused by one of two things:
The app on the left is not updated to support the higher resolution screens of the iPhone 6 and 6+. To remedy this, you can either specify a .xib as your "Launch Screen File" in the target's General settings, or add a launch image for iPhone 6 and 6+ to your asset catalog.
The app on the left is running on a device which is in "Zoomed" view mode. To change this, follow this path in your Settings app: General > Display & Brightness > View.
Edit: A good tip for recognizing such resolution differences (on an iPhone 6 or 6+) is to watch the clock as an app launches. If it gets bigger, then your device is set to the "Standard" view mode, and the application has not been updated to support iPhone 6/6+ resolutions. If the clock stays the same size, then either the app has been updated to support iPhone 6, or the device is in the "Zoomed" view mode (or both).
You cannot control the height of the keyboard. The keyboard on the left is looks taller because this app hasn't been updated for iPhone 6/6+ screens, so the keyboard and everything else in the app has been stretched.
See this question for how to support the new 6 screen sizes.
Is there a setting or configuration option somewhere for the display size (iOS main window height and width in iOS points) that the iOS Simulator uses when launched to run an app? (other than the current default 480 and 1024 numbers).
There's no official, supported way to choose a screen size other than the four offered in the Hardware > Device menu (iPad, iPad retina, iPhone, iPhone retina).
Cédric Luthi published a way to make the simulator use a retina screen size of 640x1136. I don't know if his hack can be used to run at other resolutions.
I'm making a retina iPad app. When I test with iPad simulator I get a nice display of my icons and buttons etc...
But when I switch to the retina simulator I get big buttons and images... Is that normal? Unfortunately I haven't a real iPad to test on.
Yes it is normal.
The reason being is the resolution of the retina display is 2048x1536 while the regular iPad is 1024x768.
When you test your app in the regular simulator, you'll see your app in 1024x768, which will appear "regular sized" on your display. When you test your app in the retina simulator, you'll be seeing your app in the full 2048x1536 resolution. And since chances are very good your computer monitor is not a retina display, you'll see it a bigger window with scaled up UI elements.
If you test your app on an iPad with a retina display you'll see everything is the same size as on a non retina iPad, since the physical screen size is the same.