使用自动布局使宽度和高度相等
自动布局很棒。 它大大减少了界面设计的工作量和不确定性。 一定要花些时间才能掌握。 但是,一旦您对自动布局感到满意,这真是一种祝福。
今天,我们将讨论一个这样的问题及其使用自动布局的解决方案。
问题:
让我们有一个带有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的值
现在,您应该在屏幕中央放置一个宽度和高度相同的圆形图像。