IOS Auto-Layout Guide 3: How constraints work within the interface Builder

Source: Internet
Author: User

Working with Constraints in Interface Builder

The easiest-to-add, edit, or remove constraints is-use the visual layout tools in Interface Builder. Creating a constraint is as simple as control-dragging between, or to add multiple constraints at once, you simp Ly use the various pop-up windows.


The simplest way to add, edit, and remove constraints is to use the visual layout tools of the Interface Builder. Creating a constraint is as easy as dragging between two view, you can even add multiple constraints at once, all you have to do is use some pop-up windows.

Important: Although Xcode does not generate a warning or an error when you build a user interface this does not has appropriate cons Traints, you should no ship your application in such a state.

The important thing is that while you're building an interface that doesn't have the proper constraints, Xcode doesn't give you an error or a warning, you should try to keep your app from entering the state of China.


There is several ways to add constraints depending on the level of precision you want and the number of constraints you w Ant to add at a time.


There are several ways to add constraints, based on the accuracy criteria you want and the number of constraints you add at once.
Adding Constraints with Control-drag (drag to add constraint)

You can control-drag from a element to itself, to its container, or to another element. Depending on what are drag to and which direction you drag in, Auto Layout limits the possibilities of constraints APPROPR Iately. For example, if you drag horizontally to the right from a element to it container, you have the options to pin the Eleme NT ' s trailing space or to center it vertically in the container.



The quickest way to add a constraint is to hold down the control key to drag the diagram onto the canvas, just as you create the outlet and action. When you want to create a constraint that you know you want to type and place, this method of dragging is a tool for creating a constrained quick and clear tool when you clearly know the kind of constraint you need and know where to find this constraint.

You can drag from an element itself, to a parent container or to another element. The automatic layout limits the appropriate constraints based on the elements you drag to and the direction you drag. For example, if you drag a level from an element to its container, you will have an option graph (e.g.: the element's trailing space), center it vertically in the Container. (In the center of the container's vertical direction)


Tip: To select multiple-constraints at a time from the Control-drag menu, holding down the Command or Shift key.

Tip: You can select more than one constraint at a time by holding down the command key or the SHIFT key

Adding Constraints with Align and Pin Menus (add constraints by snapping and surrounding menus)

You can also add constraints using the Auto Layout menu, which resides on the Interface Builder canvas.

You can also use the Auto Layout menu to add constraints, and the automatic Layout menu is located on the canvas of the Interface Builder


In addition to adding constraints for alignment or spacing, can also use this menu to resolve layout issues, and deter Mine constraint resizing behavior.

  • Align. Create alignment constraints, such as centering a view in it container, or aligning the left edges of both views.

  • Pin. Create spacing constraints, such as defining the height of a view, or specifying its horizontal distance from another view .

  • issues. Resolve layout issues by adding or resetting constraints based in suggestions (see resolving Auto Layout issues).

  • resizing. Specify how resizing affects constraints.


In addition to adding center and distance constraints, you can also use this menu to solve layout problems and determine how the constraint changes the size of the behavior.
    • aligned. Create alignment constraints, such as centering a view in its container (people in the center of the container view), to align the left edge of two views.
    • Fixed. Create a distance constraint, such as defining the height of a view, or specifying a horizontal distance between this view and 21 views
    • Problem. Solve layout problems by adding or setting constraints as recommended. (See article: "Solving Automatic layout problems")
    • Change the size. Specifies how constraints affect changes to the view.

Constraint options that require multiple elements is disabled if you had a single element selected.

If you select only one element, the multi-element constraint option is disabled.
To add a constraint from the Align or Pin menu (add a constraint by aligning or fixing the menu)
  1. to Select a ' Spacing to nearest Neighbor "constraint, select the red constraint corresponding to the appropriate side of the element.

  2. Enter a corresponding constant value.

  3. Press a button to create the constraints.

      • The ADD Constraints button adds the new Constraints to the selected elements.

      • The ADD and Update Frames button adds the new constraints to the selected elements, and moves the elements in your Interfa Ce to satisfy every constraint as well as possible.

1 Select the check box for "near Fit constraint"Select a "distance from recent element" constraint and click the constraint red line in the appropriate direction to select it. What if you create a constraint that relates to another view that is not the nearest one? Clicking the Black Triangular expand button expands a selection menu, and then you can select the constrained object.2 Enter the appropriate value3 Click the Create constraint button:The Add new Constraint button adds a new constraint to the selected element. Add and update frame buttons adds a new constraint to the selected element while moving the interface element according to the constraints you specify
Note: You're adding brand new constraints every time you click one of the and the buttons. You is not editing existing constraints. For information about editing existing constraints, see editing Constraints

Note: You can add a new constraint every time you click one of the two buttons above. But you did not edit the existing constraints. For information on editing an existing constraint, see (Edit constraint). Adding Missing or suggested Constraints (add missing and suggested constraints)

Use the issues menu to add constraints if you need a starting point for your layout, or if you need to make a lot of changes quickly.

If you need to add a large set of constraints to describe your interface layout and you don ' t want to add constraints one At a time, choose Issues > Add Missing Constraints to add a nonambiguous set of Constraints. This command infers constraints based on where things is laid out.

If you need to revert to a set of constraints without errors, or you just want to start over, choose Issues > Reset to Suggested Constraints to remove erroneous Constraints and add a nonambiguous set of Constraints. This is equivalent to Clear Constraints followed by Add Missing Constraints.

If you need to start laying out your project or need a quick layout, you can add a constraint with a dismal problem. If you need to add a lot of constraints to your project or if you don't want to add only one constraint at a time, you can do this: select Issues>add missing constrants and add some definite constraint settings.    This command is based on the current layout of the objects. If you need to reset the constraint settings again without error, or you just want to start over, choose issues> Reset to suggested Constraints to remove the wrong constraint, the colleague Excalibur is the correct constraint, this action is equivalent to first clear the constraint, and then add the constraint.
Editing Constraints (Edit constraint)

You can change the constant, relation, and priority of a constraint. You can edit these properties either by double-clicking the constraint on the canvas and editing the value, or by selectin g the constraint and using the Attributes inspector. Cannot, however, change the type of a constraint (for example, you can ' t change a width constraint into a height const Raint).


You can change the constraints of constants, relationships, and precedence. You can modify these properties by double-clicking the constraint on the canvas, or by selecting constraints using the property inspector. However, you cannot change the type of constraint (for example: You cannot change the width constraint to a height constraint).
Deleting Constraints (delete constraint)

Delete any constraint at any time by selecting it on the canvas or in the outline view and pressing the DELETE key.

You can at any time by selecting constraints on the canvas or on the outline view and pressing the DELETE key









IOS Auto-Layout Guide 3: How constraints work within the interface Builder

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.