我的应用程序有一个基本的登录屏幕,一个外框,里面有一些文本字段和按钮。我将框设置为填满屏幕。但是,在某些设备上,这个盒子会很大。我想为它设置最大宽度和高度。
如何为视图设置最大宽度和高度?
答案 0 :(得分:53)
您可以使用自动布局约束,以使框适应屏幕大小,但不超过给定的宽度和高度。为此,请在宽度和高度上设置“小于或等于”约束。
答案 1 :(得分:0)
如果您想提供View框架来修复所有设备,请使用此width
和height
self.view.frame.size.width,self.view.frame.size.height
或者您可以通过将视图拖动到其边缘来提供自动布局Top
Bottom
Trailing
和Leading constraints
。
答案 2 :(得分:0)
对于该容器视图,只使用四个约束(即顶部空间,底部空间,前导空格,尾随空间)。
答案 3 :(得分:0)
您可以通过编程方式进行
some_view.widthAnchor.constraint(lessThanOrEqualTo: view.widthAnchor, multiplier: 0.45)
some_view.heightAnchor.constraint(lessThanOrEqualTo: view.widthAnchor multiplier: 0.45)
0.45
基本上是说some_view的宽度和高度最多是超级视图的宽度的45%。
答案 4 :(得分:-1)
如果您使用的是Interface Builder,您可以:
ctrl + clic你的视图并将蓝色箭头拖到超级视图。
按住shift并选择"相等的宽度"和"相等的高度"
然后转到视图的约束(小标尺图标)并设置一个乘数,如0.5,使您的视图宽度/高度等于其超视图各自尺寸的一半。
答案 5 :(得分:-1)
UIView *viw=[UIView alloc]init];
viw.frame=CGRectMake(x,y,CGFLOAT_MAX,h);
答案 6 :(得分:-2)
请尝试以下可能对您有帮助的代码
yourviewObject.frame=CGRectMake(yourviewObject.frame.origin.x,yourviewObject.frame.origin.y,self.view.frame.size.width,yourviewObject.frame.size.height)