将 2 个图像视图约束在一起以保持它们之间相同的恒定距离

constraint together 2 imageviews to keep the same constant distance between them

我的 swift 下面的代码使用 nslayoutconstraint 将图像视图放置在视图控制器上。我的问题是当应用程序构建在 iPad 上时存在的差距,但它在 iPhone 上看起来不错。我附上了一个解释下面情况的想象。我尝试链接下面的约束,看看我评论的地方,但它不起作用。下面的代码是有问题的 2 个图像视图。 Ben 是他们上方的大图像视图。

        takePhoto.topAnchor.constraint(equalTo: ben.bottomAnchor, constant : 10),
        takePhoto.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.07, constant: 0),
        takePhoto.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant : 50),
        takePhoto.widthAnchor.constraint(equalTo: view.widthAnchor,multiplier: 0.365,constant:  0),



        importPhot.topAnchor.constraint(equalTo: ben.bottomAnchor, constant : 10),
        importPhot.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.07, constant: 0),
        importPhot.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant : -50),
        importPhot.widthAnchor.constraint(equalTo: view.widthAnchor,multiplier: 0.365,constant:  0),
         //constraint below trying to keep a constant link between the imageviews
        importPhot.leadingAnchor.constraint(equalTo: takePhoto.trailingAnchor, constant: 5),

importPhot 您将宽度锚点与前导锚点和尾随锚点混合在一起,这没有意义。 你必须选择一个选项。

在你的情况下删除

importPhot.widthAnchor.constraint(equalTo: view.widthAnchor,multiplier: 0.365,constant:  0),

现在 importPhot 锚定到 view.trailingAnchortakePhoto.trailingAnchor。 对于您的用例,我建议锚定到屏幕中间。 例如:

takePhoto.topAnchor.constraint(equalTo: ben.bottomAnchor, constant : 10),
takePhoto.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.07, constant: 0),
takePhoto.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant : 50),
takePhoto.trailingAnchor.constraint(equalTo: view.centerXAnchor, constant :-5),

importPhot.topAnchor.constraint(equalTo: ben.bottomAnchor, constant : 10),
importPhot.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.07, constant: 0),
importPhot.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant : -50),
importPhot.leadingAnchor.constraint(equalTo: view.centerXAnchor, constant: 5)