I have a Xamarin app, created with VS 2017 with the latest Xamarin version for VS 2017.
On all iPhones younger than iPhone 6, the launchscreen is correct. ONLY on iPhone 6, the app starts with its splash screen distorted to an oval shape. The resolution was at first 640*1136 but it seems, the iPhone6 scales it to 640 x 960. So I changed the resolution to 640 x 960 px. Still the oval.
What is the correct resolution?
distorted rendering
original file
The correct resolution of IPhone 6 is 750 x 1334, you can check the resolution of different device here.
If you use image.xcassets via Visual Studio, just put the image with correct size into the corresponding image set, there is size above each image like 320*48, 640* 960... here is the screenshot:
Related
In Xcode 7.1 Simulator, when using β+s to save screenshot to desktop, it saves the actual size of the simulator. For example, iPhone 6 Plus 100% scale simulator save screenshots as 1242 x 2208; 25% scale simulator save screenshots as 310 x 552.
Is there a way to make the simulator scale to 25% but still get original size of 1242 x 2208? The 100% simulator is just too huge on a 13" screen.
It used to save as original size regardless scale level, but in Xcode 7.1 it's no longer the case.
Uncheck "Optimize Rendering for Window Scale" option from "Debug" menu, if you want to save screenshot of actual device size πΌπ² from iOS simulator.
Happy Programming!! ππ
#SamSol's answer may work for earlier versions of Xcode, but the debug window does not appear to be present in Xcode 11+.
Instead, I followed this suggestion from the Apple Developer forum:
In the Simulator, go to Edit -> Copy Screen (^βC)
Open Preview and paste as a new image (βN)
Save the resulting image (βS)
The saved output image should have the desired resolution to be included on the Apple App Store.
To take a screenshot of the iOS, watchOS, or tvOS device and save it to your Mac Clipboard
choose Edit > Copy Screen.
To save a screenshot of the iOS, watchOS, or tvOS device and of the external display as files
choose File > Save Screen Shot.
A screenshot of each open simulated device is saved to the desktop of your Mac.
I'm using Device Specific in one of my image sets (image0) and having 3 images for 2x, Retina 4 2x and 3x.
iPhone 6 Plus simulator uses the 3x and iPhone 4/4s uses the 2x.
The problem is that iPhone 5/5s simulator never uses the Retina 4 2x (green one in the screen shot below)
These are the resolutions:
2x: 640 x 960
Retina 4 2x: 640 x 1136
3x: 1242 x 2208
EDIT1
I tried as per the suggestion below to set the image in IB but it still selects the 2x version!
It's because your project's deployment target is set to 6.0. Retina 4 images won't be used on iPhone 5 for iOS pre 7.0.
Change the deployment target to 7.0 or above and the correct image will be used when you run in the simulator (even if not reflected in IB).
We are working on an app that will run on an iPad Retina (2,048 x 1,536). We have a desktop app that is used to test and create content for the iPad app.
The desktop app uses SpriteKit (Mac) and if we load a Retina image (2048x1536) its basically most of the width of the 5K screen ... and is clearly being laid out about 4096 pixels across the iMac display.
Is there a way to get SpriteKit for Mac/Cocoa to use every pixel in its skView? Such that a 2048 wide image is about 1/4 the size of the iMac 5K desktop?
I'm having difficulty displaying the standard iPhone frame when running the iOS 7.0 simulator in XCode 5.0. I've tried numerous approaches to fix this, including:
Hooking up my laptop to a larger monitor (the screen resolution is 1920 x 1200).
Making sure the window is scaled to 100% (as stated in the Apple Docs).
Selecting each of the different iPhone devices to test it out on.
Adding my own custom .png iPhone image to the simulator by going to Applications > R-click on XCode > Show Package Contents > Contents > Developer > Platforms > iPhoneSimulator.platform > Developer > Applications > R-click on iOS Simulator > Show Package Contents > Contents > Resources.
Still, all the iPhone simulators display as a window (except, quite oddly, the 3.5-inch iPhone simulator which shows up with an iPad frame):
http://imgur.com/q1dhxx8
I've never had this issue before in older versions of XCode. Any suggestions?
Thanks for your help!
The frame only appears if there is a sufficiently large resolution to display both the simulator and frame. On that display, you will only be able to have the frame if you rotate the external 1920x1200 monitor to portrait mode.
To have the frame of a retina 4" phone simulator, have your display in portrait (1200x1920) and rotate the display in OS X by 90 or 270 degrees. Have the simulator in that display. The frame will appear.
That is how all of the retina based devices are displayed in the iOS simulator. It shows all of the retina based devices with no phone frame, like you have seen. All of the devices that run iOS 7 have retina displays, which results in the simulator displaying them the way they do. The simulator with the phone frame is a non-retina example using iOS 6 and prior.
So the problem I'm having is I have a UIImageView that is 100 x 100 on the iPhone (200 by 200 on the iPhone 4). I'm retrieving an image from a server that is 200 by 200 pixels and setting my UIImageView to it.
This looks fine on the iPhone, but looks blurry on the iPhone 4. I think my problem has to do with UIImage scale property, but since I cannot use or build for the 4.0 SDK, I'm kind of stuck. Anyone have ideas on how to scale images properly for the iPhone 4 using the 3.2 SDK?
Thanks!
iPhone 4 will only runs iOS 4 and upward. I do not think your case is possible.