如何动态改变高度和iOS中的视图宽度?

时间:2015-06-22 10:22:52

标签: ios iphone xcode ipad autolayout

我正在iOS中开发一个应用程序。我使用了autolayout,约束来构建UI。但是我仍然对此非常困惑。我无法使用autolaout& amp;创建准确的UI。如果我问的是非常基本的问题,请原谅我,因为我对iOS很新鲜。

这里我创建了一个登录界面。其中我在middile中有一个容器,其中包含一些文本和&顶部的图像是一种app徽标,在容器下面我有两个按钮。我有三个问题。

  1. 容器未正确对齐。尺寸不断增加&集装箱与集装箱之间的差距文本字段正在增加。所以UI看起来很糟糕。我想增加宽度&高度相等的比例,使它看起来不坏。
  2. 2.标识的大小应按比例增加。它的高度和高度。宽度。

    3.底部按钮高度固定。它们的高度应按比例增加。

    截图 screenshot

1 个答案:

答案 0 :(得分:0)

如果你想保持比例,你需要使用宽高比限制:

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];

您需要知道的另一件事是不要限制视图随其他约束而增长。

假设您希望顶部图像增长,不要在侧面添加一些修正前导或尾随,只需添加顶部约束并将视图居中于其超级视图。

如果你想限制图像大小以便它想要离开超视图边界,只需添加一个约束行为和尾随gratherOrEquelTo关系

希望我很清楚。

//修改

如果你想要一些最小尺寸的高度或宽度,只需添加一个高度约束或你想要的最小尺寸与gratherOrEquelTo的关系