如何在 TableView 的一行中的 ImageView 上方和下方添加 space?

How can I add space above and below an ImageView in a row in a TableView?

此 table 视图中的行高为 54。ImageView 高度为 44。我想要 ImageView 上方和下方 5(一些间距图像,以便它们不会相互接触) .基本上,在行(或 ContentView)中垂直居中 ImageView。无论我尝试过什么,图像总是锚定在行的左上角(因为它是一个音乐应用程序,它必须 运行 在 phone 上,所以我没有结果的图像)。我很尴尬地说我花了几个小时试图完成这个。我将不胜感激任何帮助。谢谢

如果我是你,这就是我设置约束的方式。首先,我将图像视图的宽度约束设置为 44。[注意:我将行高设置为 54,就像你的一样。] 然后我将图像视图的纵横比约束设置为 1:1(假设您想要方形图像)。然后,我会将图像视图和标签放在水平堆栈视图中。如果您将所有内容都捆绑在堆栈视图中,我发现您不必担心更少的约束(堆栈视图将处理图像视图和标签之间的间距,尽管您可以根据需要进行相应调整)。然后我将向堆栈视图添加前导和尾随约束。最后,将堆栈视图在容器中垂直居中。

希望这对您有所帮助。祝你好运!

我是对的,还有一个地方把图片强行放到了左上角。设置一行内容时,它在代码中,如下所示。我很久以前就写了那部分,当时我对 Swift 的了解甚至更少(目标是确保图像得到缩放。虽然可能没有必要。我会在没有它的情况下测试代码。不过,谢谢你 Zaya 抽出时间来帮忙!

        let albumArtwork = rowItem.representativeItem?.artwork
        let tableImageSize = CGSize(width: 10, height: 10) // This doesn't matter, it gets resized below
        let cellImage: UIImageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 44, height: 44)) // The albumImageView is 44 by 44