Demo of aspect ratio constraint

There is a UI layout feature:

One view’s size keeps 16:9 ratio, but will extend its size with its super view.

The demo uses several constraints to implement:

  1. Required constraints:

    1. C1, Align Center X, to super view
    2. C2, Align Center Y, to super view
    3. C3, Aspect ratio 16:9, to super view
  2. Mid priority constraints:

    1. C4, Leading space, to super view, value is 50
    2. C5, Top space, to super view, value is 50
    3. C6, Trailing space, to super view, value is 50
    4. C7, Bottom space, to super view, value is 50
  3. Low priority constraints:

    1. C8, Equal width, to super view, value is -100
    2. C9, Equal height, to super view, value is -100

C1, C2, C3, and C7’s priority is 1000 (default value).

C4, C5, C6, and C7’s priority is 750.

C8 and C9’s priority is 490. It may be other value, but MUST be lower than 500.

Demo of aspect ratio constraint

Source code is here.

Updated: