How to set auto layout on all iOS devices? - ios

So basically I have this problem where all my auto layout constraints look fine on all devices except iPhone 5s and SE. Also, the constraints look different for iPad devices but are generally the same. How do I have it so that the constraints look the same on all devices??
Below shows iPhone 8 vs iPad Pro

What you are discussing is possible, it is called Trait Variation that allows you to set up layouts based on different device dimensions and categories.
Here is a tutorial that discusses it and explains how to use it:
https://www.techotopia.com/index.php/Using_Trait_Variations_to_Design_Adaptive_iOS_User_Interfaces

Related

Can iPhone SE design work for iPhone X

I have designed my app without auto layout and for the size 320*568 (iPhone SE). The design i did for iPhone SE itself worked up to iPhone 7plus bcoz of adding corresponding launch image. Even it now works for iPhone 8 plus. But for iPhone X, it doesn't seem to be appearing full screen(Pl find the below image). Is there a quick fix or do i have to use autolayout to get it right?
Autolayout is the best for the iOS design to make it responsive according to the different device, so it is suggested to use autolayout. There are some reasons for why we should use the autolayout ?
It assures that it looks fine on all the devices.
It requires less effort to make design responsive if you are looking for different sizes or orientation.
It is easy to update the design when there is new device introduced.
And for particularly your question. If you want great design on all the device including iPhone X you should use 'Safe Area' + 'Autolayout'.

Worry about the 4s?

Totally newbie here...I have been working on auto layout using stacks and constraints with X code 8 and I have a very good understanding of how it works. I can get my layouts to render across all sizes in the sim looking as expected.
My one issue is that I can easily make layouts that looks good for 5 through 7 plus...but when I try to make the 4S work, it just kinda screws everything up in regard to the spacing of the layout for the other models....it still works and looks as expected, but because the 4s is so small, it ends up leaving a lot of space in the other sizes.
Should I just not worry about the 4s and make sure that my other sizes render the way I want? When I submit my app will this cause it to be rejected?
From the following link you can see that there is only about 2% of people are only using iPhone 4s. So if you targetting above this device its ok.
https://david-smith.org/iosversionstats/
Apple's latest iOS will not support iPhone 4S, which has been supported from iOS 5 all the way to iOS 9.Apple announced that the iPhone 4S will not support iOS 10 due to hardware limitations.
As mentioned in comments you can go for a custom layout for that scree size if needed.

Supporting all iphone sizes

I'm trying to create a iOS app, but I'm stuck on the layout.
I created the home view, but now I see that it's not shown in the right way in the 4S simulator.
I tried with size classes, but it looks like 4S and 6, for example, are in the same size class, and so I can't set a different dimension for views.
My goal is to support all devices, also iPads. Can someone please tell me how to do it?
Size classes mostly used for separation between ipad, apple watch and landscape modes.In potrait mode iphone 4 to iphone 6 all phone device sizes are in same class(regular height and compact width).Autolayout has many different constraints to help you to fit interfaces in same class.You should consider horizontaly/verticaly align, equal width and aspect ratio constraints.They are so flexible for smaller size changes and help you to design adaptive layout.
You should use "Reset to Suggested Constraints" for all views in your View controller. You can also check the simulated metrics for all devices without compiling the the code.
For 4s and 6 by default the size is Inferred. You should try resetting the constraints to check this for iPad as well.
I am just sharing an idea
Option1:
I think You can try adaptive Layouts and in file inspector->simulated Metrics->size-> Inferred. It works in all devices it supports both landscape and Portrait.
Option2: Go for Visual layouts they are easy to understand and they work perfect in all modes of Portrait.
I am think that you use code Instead design in main.storyboard !
for ex: create button with code
(and use Ratio in your code)
by this way i create small app for iPhone & iPad
!

ios swift - UI Designer Adaptive iPhone Layout

I've disabled size classes in my project and have 3 view controllers.
By looking at the preview of each of the view controllers, I've noticed that the iPhone 6 which is the one I've been running the application on shows a layout completely different than how it looks when you run it on the actual phone.
I'm trying to build an application with size classes disabled that will have an adaptive layout between iPhones. I was under the impression that size classes was geared towards adaptivity between iPhone and iPad applications?
My app looks good on the iPhone 6 and terrible on the 6 plus. I would like the layout to be adaptive between both iPhones. Any advice?
Thank you
PS: Using autolayout
First of all enable Size classes. This is how you can vary the changes for 6 and 6+. If you want the similar layout on both the devices then use 600x600 size. If you want different layout in 6 and 6+ then you have to switch the size class and change the constraints accordingly. Refer this link for tutorial: https://www.raywenderlich.com/113768/adaptive-layout-tutorial-in-ios-9-getting-started

Error in setting Constraints for buttons in Xcode 7 for iPhone6

I have an issue in designing constraints for buttons that support for multiple devices..Actually I have started this Sample app to get used to storyboards where I have used XIB's till now..So please suggest me where Am i going wrong
I have taken a storyboard for iPhone with Compact width and regular height with Simulated metrics of Size a iPhone3.5 inch's as suggested in Best Simulated metrics for an iOS app which supports all the device version types?
But my design is not as expected in iPhone 6..Please see the below images and suggest me the best way
iPhone 4s
iphone 6
Am I using the correct Simulated metrics
Any Help is appreciated!
This Solved my constraints issue by adjusting view Constraints first as below:
An than With buttons, Now working fine with all device versions...

Resources