Second scene view controller constraints issue - ios

I am working on an iOS project when I ran into this problem. When I add second scene view controller and add buttons in it, the buttons don't show up on the simulator in correct place. It is stuck up at the topmost left corner, I am not able to move it down. I tried applying constraints but they are not taking effect. Can someone please guide me? Attaching screenshots of storyboard and simulator

You have the choice to Update Your Frame or update your Constraints

You need to delete and remake new constraints. Right now your constraints are reflected in what is happening when you actually run the app, but when you move the view around in the storyboard, the constraints won't automatically update.
Click on each individual constraint and delete it before you create new constraints with different constants.

You Have to deselect the auto layout from the right side button menu.

Thanks guys for those wonderful answers. I was able to get around this issue yesterday, it is because of device orientation setting, the simulator was running in landscape mode setting, when I changed it to Portrait mode it started working. There is a setting available in bottom part of the view controller which sets the view options for different devices, I had accidentally set it to "wCompact hCompact", this setting will default the image to landscape image of storyboard on simulator. In the simulator though I was viewing it in Portrait mode. Attaching the screenshot with this setting.

Related

Is it possible to differentiate between landscape left and right in Storyboard?

I have a view that I want to look differently for landscape left and right, and I'd prefer not to have to deal with rotating all the subviews programatically. However, I don't see the option to different between landscape left and right in xcode. Am I just missing a switch or button somewhere, or is this not possible at all?
For clarity, I know you can do this programmatically using UIDeviceOrientation, but I prefer to keep all view layout work in my storyboards.
Unfortunately, this functionality does not exist as of Xcode 9.2

Autolayout on preview and simulator looks different

Autolayout for landscape mode isn't working.
Here's what I see in storyboard (preview):
https://i.snag.gy/KZENBG.jpg
And here's simulator:
https://i.snag.gy/4EPsH8.jpg
As you can see, toolbar is disappearing to somewhere off the screen. I've tried both Top Space to Superview = Standart value and Top Space to Top Layout Guide = Standart value in toolbar's contraints, but got no result.
P.S. In the portrait mode everything works good.
First of all change device in preview and set it to iPhone 5 and then check looking perfect or not.If not then try to set from Size inspector from Utility area.
If this doesn't work then try this.
Delete Derived data of your project.Then run again.
Derived Data located at
~/Library/Developer/Xcode/DerivedData/(your app data)

Xcode storyboard - can't drag to make constraint, items disappear when switch between size classes

In my project I want the iPhone portrait version to stretch a view but the landscape and iPad version to have a specific width so it doesn't stretch since the iPad is wide and so is iPhone in landscape. The problem is, when I set one up, I switch to the other one and everything has disappeared. If I start dragging views from the left panel to the storyboard they appear again, but when I switch to the previous size class everything has disappeared on that one. I also can almost never drag on that ViewController's box to do what I want. For example, if I want to drag from a UIButton to the background of the layout it would normally bring up a menu with 'vertical spacing' etc but now it comes up with 'Outlets Delegate'.
How do I fix these issues? Nothing is working.
Solved it by deleting everything in the ViewController, re-adding everything in w-Any h-Any and adding specific constraints in the relevant size classes.

Popover presentation showing blank/white view in xcode swift

I got a big project where I want to make a popover in 1 of my views, when click on a button.
The problem is that when I click the button it just shows a view with nothing in.
I have tried make a new project and do the same where it works fine, no problems there..
How I done it.
Made a new view, freeform it so it is the size I want.
Den from the button in other view I control+drag over to the new view and choose Present as Popover. But it just wont show the things I have in the new view, where it here is just a label, and have constraint on it show it should be in the middle of the view, and have tried moving it around, to see if any effects with that, but nothing happens..
I also have something else happen when click on the button, but tried removing that, and that did not help either.. Have also tried making button other places in my app, but it is the same problem.
I have not wrote code for it, just done it in the storyboard.
Screenshot from storyboard: http://i.imgur.com/Rj0uaUz.png
Screenshot from app showing the view: http://i.imgur.com/DalGOU1.png
I did found out what the problem was.
I had changed from wAny hAny too wRegular hAny because only making for iPad.
I found out that was mistake to do it this way. Because then the popover show in the app would be wAny hAny instead of the wRegular hAny I was working on in the storyboard..
So changed to wAny hAny and then I instead changed to iPad view under Simulated Metrics instead of to see how it look on iPad.

Is there a way to view a storyboard scene without running the app?

Im working on an app with a viewcontroller buried deep inside a drill down. Im working with autolayout and would like to view my changes without having to go thru the rest of the app processes.
is there a way to view what a scene will look like onscreen without having to run the entire app?
There is a menu option called simulate document. Unfortunately, newer versions of Xcode no longer have this available for iOS apps, OSX only.
If you only want to see the effect of changing between 3.5inch and 4inch phones, or orientation changes, you can change the simulated metrics on the storyboard. This will show you how your ui elements will lay themselves out based on your autolayout settings. Anything you are doing in your code in your view controller won't take effect since you're not actually running anything. This will only show you results based on things you have set in the storyboard.
To do this, select your view controller on the storyboard and open the Attributes Inspector (Cmd+Option+4).
All of the simulated metrics are likely set to Inferred. You can change the size and orientation here.
Using this you can at least find some errors. Say I have a button at the bottom of the view, but I set the constraint to "Top Space To Superview" instead of bottom. When I change the Size Simulated Metric to the 3.5 inch, this button will be off the bottom of the screen.

Resources