带有 snapkit 的垂直居中 UIImageView

Posted

技术标签:

【中文标题】带有 snapkit 的垂直居中 UIImageView【英文标题】:Vertical-center UIImageView with snapkit 【发布时间】:2018-07-13 11:58:19 【问题描述】:

如何使用 snapkit 在超级视图中垂直居中 UIImageView? 我试过这样:

 imageview.snp.makeConstraints  (make) in
            make.centerY.equalTo(view.center.y);

        

但似乎不太好。我该如何使用 snapkit

【问题讨论】:

我猜你忘了添加make.centerX.equalTo(view.center.x) 部分。并且还需要 2 个其他约束 - widthheight。因为它知道中心应该在哪里。但不知道你的图像视图应该有多大 make.centerY.equalTo(view.center.y);只需在其父视图的垂直中心制作图像视图的按钮 【参考方案1】:

试试下面的代码

Imageview.snp.makeConstraints  (make) in
     make.left.equalTo(view.snp.left).offset(50)
     make.centerY.equalTo(self.view)
     make.width.height.equalTo(100)

【讨论】:

【参考方案2】:

只给 imageView 一个 centerY 是不够的,你还需要给它 width、height 和 x 约束,所以试试这个

imageview.snp.makeConstraints  (make) in
      make.left.equalTo(view.snp.left).offset(50)
      make.centerY.equalTo(self.view)
      make.width.height.equalTo(100)

【讨论】:

你应该指定 width , heigth 和 x 约束【参考方案3】:

如果您想将 imageView 设置在其父视图的中心,大小为 100x100,请尝试以下代码;

imageview.snp.makeConstraints  (make) in
    make.centerY.centerX.equalToSuperview()
    make.height.width.equalTo(100) 

如果您想将 imageView 设置为垂直中心,并且从其父视图的前缘偏移 50px,大小为 100x100,请尝试以下代码;

imgView.snp.makeConstraints  (make) in
    make.centerY.equalToSuperview()
    make.leading.equalToSuperview().offset(50)
    make.height.width.equalTo(100)

【讨论】:

以上是关于带有 snapkit 的垂直居中 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SnapKit 在 ScrollView 中居中按钮数组

在带有悬停和背景的容器中垂直和水平居中调整大小的图像

如何垂直居中对齐位置:相对元素?

垂直居中文本与视图高度无关?

如何使div中的文本垂直居中?

使 div 中的元素垂直居中对齐