如何使用 SwiftUI 将图像对齐到列表行的右上角?

Posted

技术标签:

【中文标题】如何使用 SwiftUI 将图像对齐到列表行的右上角?【英文标题】:How to Align an image to the right corner in list row using SwiftUI? 【发布时间】:2020-12-28 02:32:35 【问题描述】:

我正在尝试将图像与 Swift/SwiftUI 中列表行的正确大小对齐。

List 
    Image(systemName: "pencil")

我已经尝试添加几个不同的对齐标签,但似乎都不起作用。任何帮助将不胜感激:)

【问题讨论】:

【参考方案1】:

把它放在一个 HStack 中并添加一个 spacer。

List 
     HStack 
           Spacer()
           Image(systemName: "pencil")
     

【讨论】:

它似乎没有完全向右对齐。 @Lemon 然后你必须使用 scrollview ,因为 List 单元格有一个 padding ,内容只在里面。但是你可以在 List 中使用 offset——这不是一个好习惯 @Yodagama 如果真的很难将某些东西稍微向右对齐,我很害怕?【参考方案2】:

我假设你想要这个(使用 Xcode 12.1 / ios 14.1 测试):

List 
    Image(systemName: "pencil")
        .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .trailing)
        .listRowInsets(EdgeInsets())

【讨论】:

这似乎只是将图像放在行的中间而不是行尾。可能是因为我使用的是.listStyle(InsetGroupedListStyle()) 查看更新的测试代码演示(包括列表样式)。也许你使用不同的代码?还是不同的开发环境?

以上是关于如何使用 SwiftUI 将图像对齐到列表行的右上角?的主要内容,如果未能解决你的问题,请参考以下文章

如何将底部边缘与上方视图的中心对齐 swiftui

SwiftUI 标签文本和图像垂直未对齐

SwiftUI 将 Label 的垂直对齐方式更改为居中图像和文本

SwiftUI 列表中某些行的布局问题

如何将 UIImage 异步加载到 SwiftUI Image 中?

SwiftUI 使用 CoreData 从列表中编辑项目