Asset on iOS mobile app does not match mockup - ios

My artboard on Sketch is 640 x 1136 px, which is 2x. I exported my icons and images at 0.5 times, 1 times, and 1.5 times for 1x, 2x, and 3x respectively.
However, when I implemented them on the app, the size of the icons and images appear to be different from that of the mockup, which is a 640x1136 1:1 scale.
Am I missing something here?
I would like tips and examples of other design folks' design workflow from Sketch to mobile while handling the normal and Retina resolutions.
Thank you very much!
Other things to note:
-Exported using Sketch
-Yes I suffixed them correctly for Xcode

640 x 1136 should be the size of your image for #2x, refer to this handy guide for the different screen sizes.
which device(s) have you been testing on? for #3x it doesnt seem like a 1.5x multiplier so i could see why it maybe not working for that device size, but if its not working on #2x and at #1x device im not sure, are you using the asset manager? maybe make sure all the image buckets are filled correctly

Related

Exporting for All iPhones in Sketch 3

There seems to be a confusion for me regarding Sketch 3 workflow and exporting Artboards for all iPhones in Sketch 3.
I understand that 1x resolution is for iPhone 3GS and below, 2x for
iPhone 4/4S/5/5S/6/6S and 3x is for 6Plus. So does that mean If I
create Artboards for iPhone 6 and export in 2x it would be for iPhone
4/5/6 and if I export at 3x it would be for 6plus regardless of what
dartboard I'm using?
Or should I have different dartboards for each iPhone and export #1x #2x and #3x for each of them?
I have been looking for a solid answer for days but could not find one that actually works. According to this link :
"if you were designing at 1x with the 6Plus (414x736) art board, exporting your assets at 1x would be for 3G/3GS devices, 2x would be for 4/4S/5/5S/6 devices, and finally 3x would be for the 6Plus."
However after I tested that I get different results:
Exporting iPhone 6Plus (414x736) at 1x = 414x736 2x = 828x1472 and 3x = 1242x2208. Shouldn't that be 750x1334 for 2x ?
What if I want to use PDF vector assets so I don't have to export 1x, 2x and 3x separately. Which Artboard should I export the 1x PDF from?
Overall I'd love to know what's the best approach to design and export for multiple iPhones.
Thanks in advance! :)
The density selection in Zeplin is a way of telling the app that, the Sketch artboards are in #1x or #2x or #3x. So, Zeplin will calculate the assets size based on that. You don't have to work on different sizes (#1x, #2x, #3x & PDF).
If your Sketch artboard is 1242 x 2208 pixels (iPhone 6Plus, 6S Plus, 7Plus) then you have to choose the density as #3x in Zeplin.
So make sure you select the right density in Zeplin.
Zeplin – Choosing right screen size while importing from Sketch?
I'm using the smaller to bigger approach. If your design work on the smaller screen it should be fine on other.
So I start with a 375x667px artboard and then export the assets as #1 #2 for iPhone and #3 to sizes plus.

Dealing with graphical assets for iPhone 5/5S/6/6 Plus

Since the induction of 6 and 6 plus its the first time I'm starting to work on a new app. Now I'm a bit confused about the use of graphical assets for my app. See for 5/5S things were pretty simple. If I have to make an image view of lets say 180 x 30 points then my image would of 2x resolution that would be 360 x 60 and would fit pretty good inside my image view. Now since 6 and 6 plus have different screen sizes than 5/5S and different resolutions, what is the recommendation here. Should I keep the image view size same on all three devices that is 180 x 30 points. If so, what image resolutions should I be using for the 3 different devices. It would be 2x for 5/5S but what about 6 and 6 Plus and how will Xcode determine to load those automatically? Or should I use different image view size that is larger than 180 x 30 for 6 and 6 plus? Im confused here that how this all works. Help is highly appreciated. Thanks
So your image view size should always be the same amount of points on the phone. Your image will be in the assets and will be different based on the device.
So if on the non retina screen you had 180x30 and on the 5s retina you used 360x60, you would keep the same 2x(360x60) for the 6 and then 3x for the 6+(540x90)
Just add the images to your assets in the correct buckets and it should be taken care of for you.
You should keep your image view point sizes the same but you should add a new pixel resolution for all of your images (3x) which will be used for the 6+. Although the 6+ is slightly less than exactly 3x resolution, the OS does some scaling so that you can just give a 3x image and it will work correctly.
A couple of Xcode versions ago Apple added asset catalogs that make it incredibly easy to manage having multiple resolutions. Just simply drag the correct images into their correct resolution bucket and it will work automagically. Much simpler than having to append #2x and #3x to all of your images like in older versions.

Screen Size Issue For an Image in iOS

I simply want to display a title page to a game. I want to use pre-rendered images. It needs to work with all iPhones and iPads. So far I am using these assets as screenshot below
I have used these sizes:
In 1x place image with resolution of 320 x 480.
In 2x place image with resolution of 640 x 960.
In Retina 4 2x place image with resolution of 640 x 1136.
In 3x place image with resolution of 1242 x 2207.
Only the iPhone 4 and 5's show correctly. Both 6 and 6Plus are completely wrong.
for iPad:
1x image of 760*1024
2x image of 1536*2048
Only the iPad 2 displays correct. The Air and Retina are completely wrong.
I have read through all the documentation I can find both on here and searching for hours on Google. I am unsure what simple thing I must be overlooking. Am I trying to do something that is not possible? I am only testing on the simulator and thinking it could be an issue with that?
Also I may have a misunderstanding then as I was under the impression that #3x was for iPhone 6 and 6+. If not, what are #3x for?
For some reason Image Sets in Asset Catalogs do not include a size for iPhone 6 or iPhone 6+, so when using a full screen image you may need to handle it manually via code.
What I'm doing (and it's not pretty but it works), is to include another Image Set for iPhone 6 (I all it imageName_47), and another one for iPhone 6+ (I call it imageName_55). Then in code, detect the screen size and swap the image to the best size. You'll only need the #2x version for the _47 one, and the #3x version for the _55 one.

Confused regarding #3x artwork for iPhone 6+

I have an app in the App store to which I want to add #3x files. I read various posts but I am not sure how to proceed.
I read that coordinate space for the iPhone 6 plus is 414x736 points, (X3) that yields 1242x2208 pixels and not 1080x1920. Also I read that the iPhone 6+ will divide that by 1.15 before rendering to the display which will make it fit.
So lets say my App has a button image that is 44x44 pixels (the #2x file), then I should draw it as 44/2*3*1.15 to make it fit my 1242x2208 photoshop canvas. (/2 for points, times 3 for pixels *1.15 to overscale)
Now Apple documentation says #3x button need to have 66 pixels area, so that seems too small as it is not scaled up by 1.15.
This leads me to think my App canvas should be 1080x1920 which would avoid the iPhone having expensive rescale. So which is right? of course #3x would not be #3x.
Forget the 1.15 thing or actual screen resolution. Just scale up your '#2x' assets by a factor of 3/2, and name them '#3x'. The rest will be taken care of by iOS.
Check these links - how #3x image is works with 1080x1920 size..
http://aten.co/2014/09/12/designing-from-iphone-5-to-iphone-6-iphone-6-more-than-i-bargained-for/
You have to set images in image asset, so iOS automatically assign 2x & 3x images.. for different devices.

iOS app image sizes and naming conventions

It's a first time I am posting iPhone app to Apple. After much research I have not been able to find out answer to my questions and I don't want my app to be bounced back due to a silly thing. Please note that my app is only for iOS7. Below are my questions:
1) Do I've to provide 2 images one in low resoltion and another in high resolution?
2) I've read that background image or launch image for iPhone5 should have resolution of 640 x 1136. The same for iPhone4 is 640 x 960. Is there any naming convention for such images (both for iPhone4 and iPhone5)?
3) What should be the resolution for application icons? The resolutions which I know are 1024 X 1024 (required for app store) and 120 x 120. On some links I've read about resolutions of 72px x 72px and 114px x 114px instead of 120 x 120.
Help will be greatly appreciated. Thanks.
1) If you are only targeting retina devices (i.e. iOS 7 only on iPhones) you can provide only the 2x assets.
2) There's a naming convention for the launch image, which is
Default#2x.png (iPhone 3.5-inch retina display)
Default-568h#2x.png (iPhone 4-inch retina display)
Concerning other assets (actually including also launch images) you'd better use the Asset Catalog, which helps you in keeping track of assets for different resolutions.
3) It's 120px. 114px was the resolution on iOS 6 and prior versions.
Instead Directly giving answer to you, I'll give some apple document which is most useful related to your question.
Read App Launch (Default) Images topic in this apple's document for naming convention. This will show you launch images size. It will show you about tabbar and Icon images size.

Resources