如何使用 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 将 Label 的垂直对齐方式更改为居中图像和文本