tex*_*009 3 screen alignment frame swift swiftui
我正在使用 Swiftui 创建一个聊天应用程序。我正在尝试对齐文本,以便它显示在屏幕的右侧,然后来自其他用户的消息将显示在左侧。我尝试过使用 VStack 并使用前导和尾随对齐,我还尝试过仅对齐文本属性。我有一个文本,然后有两个按钮。我希望垃圾桶按钮和铅笔按钮都均匀地排列在右侧。
VStack (alignment: .trailing ) {
HStack {
Text(data.text)
.padding(.bottom, 4)
.padding(.top, 4)
.padding(.leading, 8)
.padding(.trailing, 8)
.foregroundColor(Color.white)
.background(Color(UIColor.systemBlue))
.cornerRadius(20)
Button(action: {
self.showingPopover = true
}) {
Image(systemName: "pencil")
}
Button(action: {
viewModel.deleteData(id: data.id)
}) {
Image(systemName: "trash")
}
}
}
Run Code Online (Sandbox Code Playgroud)
对文本使用框架对齐就足够了,根据用户的不同,可以有条件地就地更改,例如
Text(data.text)
.padding(.bottom, 4)
.padding(.top, 4)
.padding(.leading, 8)
.padding(.trailing, 8)
.foregroundColor(Color.white)
.background(Color(UIColor.systemBlue))
.cornerRadius(20)
.frame(maxWidth: .infinity, alignment: isMe ? .trailing : .leading) // << here !!
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6158 次 |
最近记录: |