Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to divide UIView in to three even sized subviews horizontally in XCODE?

Tags:

xcode

ios

uiview

I Have to divide a UIView horizontally into three even sized subviews using Xcode. I tried to use constraints. I got the following result.

enter image description here

In some screen sizes. In small screen phones the leftmost and rightmost sub-views are same size. But, the center sub-view is very small in small screens and very large in big screens. So Please let me know the correct way to split the UIView into three even sized sub-views horizontally. Thanks in advance.

Note: I'm using Xcode 8.1

like image 981
Praveen Kumar Avatar asked Dec 04 '22 23:12

Praveen Kumar


2 Answers

Setting up constraint is technique that every used according to developer skills and usability. You will came with own one day. Here is the way i am using to handle situation like your.

1)Create 3 views with equal width on storyboard.(You have already Done that) 2)Select all 3 Views together .

  • Add Leading Constraint(left)
  • Add Top Constraint.
  • Add Height/Bottom Constraint.(According to your needs/requirement)
  • Add Equal width Constraint.(MUST)

Here is an image showing above step at once.

enter image description here

Now Select Last View ie. 3rd View (You must select only Last view)

  • Add Trailing margin Constraint. (Right)

enter image description here

You are good to go now.

  • Height/Bottom and Top constraint, you have to add according to your requirement.

Like i said earlier, go with your convenience.

like image 194
Devang Tandel Avatar answered Dec 11 '22 15:12

Devang Tandel


First, hold "control" key and drag the view to its container view, enter image description here

To set view's width equal to container view's width: enter image description here

Second, change the multiplier value to 0.3333(means 1/3 width of container): enter image description here

Next, set 2nd view's width equal to the 1st one: enter image description here

Finally, add 3rd view and apply same set as 2nd one. And remember to add "Same Vertical Center to 1st View" constraint and "xx Leading Space" constraint for 2nd and 3rd view. You will get three same width views fill the container.

like image 41
Yun CHEN Avatar answered Dec 11 '22 15:12

Yun CHEN