2

I'm really very weak in constraints part of ios. I have gone through many reference link as shown below but still not able solve my issue.

Hide autolayout UIView : How to get existing NSLayoutConstraint to update this one

In case , i need to change the y-axis of UIView2 based on some condition. The storyboard.png shows the layout. enter image description here

If condition fails UIView2 with step1, step 2 and step3 should be visible and it's position should also change as shown in condition1.png

enter image description here

If condition pass UIView2 with step1, step 2 and step3 should not be visible as shown in condition1.png

enter image description here

Please provide me steps for how to achieve the above scenario. I tried it doing but if set the constraint for UIView1 the height remains same and does not change at runtime.

Community
  • 1
  • 1
cybergeeeek
  • 410
  • 8
  • 22

2 Answers2

4

just make the outlet of height of both UIView and use constant property to change the height constraints like...

if conditionfails{
     heightconstOfView1.constant = 0
}
else{
    heightconstOfView2.constant = 0
}
Bhavin Bhadani
  • 22,224
  • 10
  • 78
  • 108
0

I use outlets for constraints set on the storyboard, for divs between buttons (using old ways to set dynamic layouts). So, for large screens (iPhone 6 and above), I update the values of fixed heights (app only viewed in portrait mode). What worked for me is:

constHeightlogo.constant = 140 //old value = 72
///set any other updates here then force the view
self.view.layoutIfNeeded()

Worked like a charm.

See related here:

Update the constant property of a constraint programmatically in Swift?

Community
  • 1
  • 1
Pablo
  • 361
  • 3
  • 6