如何在SwiftUI中复制UITableViewCell imageView
在普通故事板/UIKit应用程序中,您可以在如何在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.
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) {
...
}
谢谢。谢谢!现在就可以了,看起来很合适。