使用自动布局使宽度和高度相等

自动布局很棒。 它大大减少了界面设计的工作量和不确定性。 一定要花些时间才能掌握。 但是,一旦您对自动布局感到满意,这真是一种祝福。

今天,我们将讨论一个这样的问题及其使用自动布局的解决方案。

问题:

让我们有一个带有UIImageView的视图控制器。 UIImageView必须位于屏幕中央,并且应为圆形。 对于所有喜欢变通方法的人们,不,我们不会在UIImageView中使用圆形图像。 我们将有一个常规图像,并使UIImageView投射为圆形。

这很简单,对吧?

是的,在大多数情况下。 但是,有一个陷阱。 如果您曾经尝试过创建圆形UIImageView,那么您会知道先决条件的。 前提条件要求您的UIImageView应该具有相等的宽度和高度。 如果UIImageView的宽度和高度相同,则只需分配半个宽度或高度的半径即可。

例如,您要有一个宽度为40的UIImageView。高度也必须为40 pts。 半径将为宽度和高度的一半,在此示例中为20。

如何使图像视图呈圆形?

如果您了解以上部分,则可能正在寻找代码段。 这里是

  func makeImageViewCircular(imageView:UIImageView) 
{
imageView.layer.cornerRadius = imageView.width / 2.0
imageView.maskToBounds = true
  } 

方法的第一行将imageview宽度的一半分配给其图层的角半径。 请注意,半径是分配给图层的,而不是视图本身的。

这是您的操作方法(最终)

  • 将图像视图拖放到视图控制器中。
  • 使图像视图水平居中,垂直居中。 做到这一点的方法是按住ctrl并拖动到父视图(在这种情况下为UIViewController的视图)。 弹出窗口出现时,按住shift键并选择“在容器中水平居中”和“在容器中垂直居中”
  • 上面的步骤将使您的图像在水平和垂直窗格中居中放置。 由于它在水平和垂直方向上都位于中心,因此它将最终位于屏幕的中心。 现在,我们需要使UIImageView的宽度与视图控制器的宽度成比例。
  • 使UIImageView的宽度为其父视图宽度的一半。
  • 现在,您有了一个图像视图,其宽度是其父视图宽度的一半。 最后一步是将图像的宽高比设置为1:1。 按住Ctrl键并将UIImageView拖到其自身。 选择宽高比并将其分配为1:1的值

现在,您应该在屏幕中央放置一个宽度和高度相同的圆形图像。