I'm having a bit of a problem while updating my old iOS applications. I have seen other threads where developers suggest I just need to enable "Use Auto Layout" and "Use Size Classes". I did that and updated the storyboard, but the application still appears blown out on iPhone 6 while testing, along with the keyboard.
Am I missing something or doing something wrong?
Thanks.
Do you have a correctly sized launch screen in your app bundle?
Related
I am maintaining an older Objective-C app which does not use auto layout in its storyboards. I noticed that the "Use Auto Layout" checkbox on the file inspector has been removed when working in iOS13 (Using Xcode 11 beta 6). Does this mean I need to update all of the existing storyboards to use auto layout and constraints?
The app still runs without changes to the storyboards, but warnings and errors such as: missing constraints, ambiguous content size, and localization issues now appear when viewing many view controllers.
auto layout is going to be pushed a lot in Xcode 11, I've noticed that myself. however, you can try using xib files instead and use basic constraints and use "add missing constraints" in the all new section.
I'm working on very old project which is written in objective-C and it's all views and controllers are written programatically. (There are not even XIBs, except some cells)
I've already open project in latest Xcode 9.3 and resolve all error and dependencies and compiled it successfully.
But now I want to upgrade the whole project to give support for iOS 11 and iPhone X layout, and I also want to add storyboards and remove all programatically controllers. It's also compatible for iPad and iPhone both.
Can anyone suggest me how to start it and what to keep in mind?
It's huge project so I'm bit confuse either would I make it or not. (I don't wanna introduce swift at the moment, first I'll update it for iPhone X layout and storyboards, then I'll think about swift too)
First of all start with creating UI on storyboard with autolayout.
Remove the resizing views conditions from the code.
Use size class to support both iPhone and iPad.
so basically first 3 steps will solve 70% of your issues.
My suggestion is don't move to the swift before doing all this.
I used XCode version 7.2.1 for my project. But I updated the XCode version 8.0 now. Though the scroll view is messed in view controllers of my project. Here I have used Resizing only not an Auto layout. I referred many forums. But can't able to find a solution for that. Here I have attached similar links to what I had tried.
Xcode 8 GM seed Storyboard layout issue
Layout issues after updating to Xcode 8
I have to update frame of everything in storyboard every time I start Xcode
What is the exact solution for Scroll view resizing issue in XCode version 8.0?
Its work for me
https://stackoverflow.com/a/39770664/6619234 you can try this...
after Save & Close don't open this xib/Storyboard....it is an temporary solution....till the apple fix it..
Apple just came out with XCode 8.2, which fixes this problem for me. I have been using XCode 7.3.1 for my interface design parallel to 8.1, but I can now use 8.2 without any problems.
The storyboard gets updated with widths and height of frames though, to accommodate the new 'View as:' functionality. Though it doesn't seem to affect running on device/simulator.
Curiously, the bugfix it is not noted in the XCode 8.2 release notes.
I was able to solve the same by selecting my xib files and then I selected my view in the xib after that I went to attribute inspector and changed the size, status bar, top bar and bottom bar as inferred and it worked but before that xocode pointed out I am missing 2x retina display file so I clicked the warning and it was added automatically.
I asked to Apple about this same issue, and they have sent the following message to my inbox:
Hello Raja,
Engineering has determined that your bug report (28489404) and will be closed.
About a week ago xcode showed me some error and when I clicked to solve the problem, xcode added this picture:
My questions are: What is it good for? Why do I need it?
Thank you.
Yes you must include one.
From Apple's Interface Guidelines
To enhance the user’s experience at app launch, you must provide at least one launch image. A launch image looks very similar to the first screen your app displays. iOS displays this image instantly when the user starts your app and until the app is fully ready to use. As soon as your app is ready for use, your app displays its first screen, replacing the launch placeholder image.
Without this default image (or a LaunchScreen storyboard), your app would not take all the available screen space on iPhones with 4" displays (iPhone 5, 5s, SE). This is the default image that those iPhones would use.
Of course you can (should!) change it with the one you designed.
Runtime, leading to the top and bottom of applications were empty out a lot , because the application is based on a 320x480 size to run.
I have an iOS 5.0 app presently and had a few questions regarding deploying the app across multiple platform and multiple OS upgrades. I would like to know if there is a clean and configurable system that allows me to have one project handle deployment to the iPhone iOS5 and iOS6 and the latest iPad iOS without having ugly selection statements everywhere determining the platform the app is being currently run on. So I would like to know if there is a way to manage the code from a dev prespective so i can support all version/platform specific features of my app depending on what platform/version it is being currently run on (for ex. automatically switching to use the longer dimension background images if the app is being run on an iPhone 5 with iOS 6)
Is there any way to have this functionality?
I am slightly confused with your question, but I'll explain what I know. Xcode already has a way to change your app depending on what Device/iOS Version the user is running. If you use storyboards, then it will automatically resize your app content depending on whether the screen has retina support, and the size of the screen. In addition, you can have a storyboard for iPad, so that when you run the app it will use the iPad version. It also will change the app icons. Just go to the project settings and scroll down until your get to the icons and lunch images.
Now, if you mean you want to change how your app works using the source code directly, then there is no easy to way to manage it. Your best bet is to go with Storyboards, as it makes it very easy to resize content depending on what device your using.