如何动态更改高度&;iOS中的视图宽度?

如何动态更改高度&;iOS中的视图宽度?,ios,iphone,xcode,ipad,autolayout,Ios,Iphone,Xcode,Ipad,Autolayout,我正在iOS中开发一个应用程序。我使用了自动布局和约束来构建UI。但我仍然对此感到非常困惑。我无法使用autolaout和大小类创建准确的UI。如果我问的是非常基本的问题,请原谅,因为我对iOS非常陌生 在这里,我创建了一个登录屏幕。我在中间文件中有一个容器,其中包含一些文本文件和图像,顶部是一种应用程序徽标,在容器下面有两个按钮。我有三个问题 容器没有正确对齐。它的大小一直在增加,容器和文本字段之间的边距也在增加。所以UI看起来不好。我想按相同的比例增加宽度和高度,这样看起来就不会不好 2.标

我正在iOS中开发一个应用程序。我使用了自动布局和约束来构建UI。但我仍然对此感到非常困惑。我无法使用autolaout和大小类创建准确的UI。如果我问的是非常基本的问题,请原谅,因为我对iOS非常陌生

在这里,我创建了一个登录屏幕。我在中间文件中有一个容器,其中包含一些文本文件和图像,顶部是一种应用程序徽标,在容器下面有两个按钮。我有三个问题

  • 容器没有正确对齐。它的大小一直在增加,容器和文本字段之间的边距也在增加。所以UI看起来不好。我想按相同的比例增加宽度和高度,这样看起来就不会不好
  • 2.标志的大小应按相等比例增加,其高度和宽度

    3.底部按钮其高度固定,高度应按相同比例增加

    屏幕截图

    嗨,如果要保持比例,则需要使用纵横比约束,例如:

    NSLayoutConstraint *constraint =[NSLayoutConstraint
                               constraintWithItem:view
                               attribute:NSLayoutAttributeHeight
                               relatedBy:NSLayoutRelationEqual
                               toItem:childView
                               attribute:NSLayoutAttributeWidth
                               multiplier:4.0/3.0 //Aspect ratio: 4*height = 3*width
                               constant:0.0f];
    [view addConstraint:constraint];
    
    您需要知道的另一件事是,不要限制视图随其他约束的增长

    假设您希望顶部图像增长,不要从侧面添加一些固定的前导或尾随,只需添加顶部约束并将视图居中到其superview

    如果要限制图像大小,使其超出superview边界,只需使用gratherOrEquelTo关系添加一个前导和尾随约束

    希望我是清楚的

    //编辑


    如果您想要高度或宽度的最小尺寸,只需添加一个高度约束,或者使用gratherOrEquelTo的关系中所需的最小尺寸,关键是要有明确的布局要求。这是确定约束的最佳方法。您想要的布局有些模糊。从你所说的开始,最简单的选择是使用约束,允许在需要增长的项目上具有灵活性。e、 g.对于图像,您可以将其水平居中,将其宽度设置为=(最小边距),将其前导设置为>=(最小边距)。这将允许图像放大到最大值,但不会破坏任何边距。使用精确的约束将事情联系在一起。@RoryMcKinnel很好,谢谢。我对这些事情非常熟悉,所以你能给我推荐一些完整的教程,在那里我可以找到解决方案。从Apple文档开始,这样你就能了解它是如何工作的:。然后我会跳进去,用编写你的应用程序作为你的教程。好的,我会弄明白的。谢谢@RoryMcKinnel@RoryMcKinnel我已经研究了你提到的链接,但是没有解释每一个限制。