如何在SwiftUI中复制UITableViewCell imageView

如何在SwiftUI中复制UITableViewCell imageView,swift,uitableview,swiftui,swiftui-list,Swift,Uitableview,Swiftui,Swiftui List,在普通故事板/UIKit应用程序中,您可以在cellForRowAt函数中设置单元格的图像视图,如下所示: cell.imageView?.image = // some UIImage 设置imageView时,tableView的分隔符会缩短以适应图像,在图像下不会留下分隔符,就像在默认设置应用程序()中一样 然而,在SwiftUI中,这似乎是不可能的。当然,您可以使用列表和HStack复制单元格的内容,但分隔符会扩展单元格的整个底部 我尝试过的解决办法大致如下: UITableView.

在普通故事板/UIKit应用程序中,您可以在
cellForRowAt
函数中设置单元格的图像视图,如下所示:

cell.imageView?.image = // some UIImage
设置imageView时,tableView的分隔符会缩短以适应图像,在图像下不会留下分隔符,就像在默认设置应用程序()中一样

然而,在SwiftUI中,这似乎是不可能的。当然,您可以使用
列表
HStack
复制单元格的内容,但分隔符会扩展单元格的整个底部

我尝试过的解决办法大致如下:

UITableView.appearance().separatorStyle = .none

struct TableView: View {
  let arr = ["Alex", "Brian", "Charlie"]
  var body: some View {
    List(arr, id: \.self) { entry in
      HStack {
        Image(systemName: "person")
        VStack(alignment: .leading) {
          Text(String(entry))
          Divider()
        }
      }
    }
  }
}
但它们都没有正确对齐


再说一次,考虑到SwiftUI如何从根本上工作,这可能是不可行的,而且也是一个相当琐碎的问题,但我想问一下也无妨。为WWDC祈祷?

HStack
对齐设置为
.firstTextBaseline

HStack(alignment: .firstTextBaseline) {
    ...
}

谢谢。谢谢!现在就可以了,看起来很合适。