如何在IOS中设置视图的最大宽度?

我的应用程序有一个基本的login屏幕,外框和一些文本框和button。 我设置框来填满屏幕。 但是,在一些设备上,这个盒子会很大。 我想设置一个最大的宽度和高度。

如何将最大宽度和高度设置为视图?

您可以使用自动布局约束,以使该框适应屏幕大小,但不会超过给定的宽度和高度。 为此,请在宽度和高度上设置“小于或等于”约束。

  1. 将顶部,底部,前导,尾部,宽度和高度限制添加到框中。
  2. 将顶部,底部,前后约束的优先级设置为 (750)。
  3. 将宽度和高度约束的关系设置为小于或等于 (≤)。 默认值是Equal
  4. 将宽度和高度约束的优先级设置为“ 必需” (1000)。
  5. 将宽度和高度约束的常量设置为您想要框的最大大小。

将宽度约束关系设置为小于或等于

将宽度约束设置为1000

将前导和尾随约束优先级设置为750

如果您使用Interface Builder,您可以:

  • ctrl + clic你的视图,并将蓝色箭头拖到超视图。

  • 按住shift并select“等宽”和“等高”

  • 然后去你的视图的约束(小标尺图标),并设置一个乘数0.5像素,使您的视图宽度/高度等于其超级视图各自维度的一半。

如果你想给一个视图的框架来修复所有设备,那么使用这个widthheight

self.view.frame.size.width,self.view.frame.size.height

或者,您可以通过将视图拖动到其边缘来给自动布局Top Bottom TrailingTop Leading constraints

 UIView *viw=[UIView alloc]init]; viw.frame=CGRectMake(x,y,CGFLOAT_MAX,h); 

很简单,您只能使用该容器视图的四个约束(即顶部空间,底部空间,顶部空间,尾部空间)。

尝试下面的代码可能会帮助你

 yourviewObject.frame=CGRectMake(yourviewObject.frame.origin.x,yourviewObject.frame.origin.y,self.view.frame.size.width,yourviewObject.frame.size.height)