AutoLayout Size Classes - different proportional heights

╄→尐↘猪︶ㄣ 提交于 2019-12-06 06:54:46

问题


I need to set the height of a subview to be proportional to its parent. On iPads, I need it to be one third of the height while on iPhones I need it to be one half. In the "AnyAny" size class, I create the constraint and set the multiplier to 0.3333333. This does what it should on iPads. When I change the size class to "CompactRegular", I change the multiplier of the constraint to 0.5. Although this makes it half on iPhones, it also does it for iPads. How do I make it such that the size classes would have different multipliers?


回答1:


You'll need to add a new constraint for Compact/Regular, and make sure the original one is only installed in Any/Any like so:

  • In Any/Any, add the original constraint (subview.height = superview.height * 0.33).
  • Switch to Compact/Regular, and select the previously added constraint.
  • In the size inspector, next to "installed", click the '+' button, and select Compact/Regular. Now You can disable "installed" in Compact/Regular (see pic).
  • Add the new constraint (subview.height = superview.height * 0.5), and make sure it's only installed in Compact/Regular mode.



来源:https://stackoverflow.com/questions/29730765/autolayout-size-classes-different-proportional-heights

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!