小编mic*_*mic的帖子

如何在 swiftui 中将图像对齐到按钮顶部?

我希望在按下“删除按钮”时在每个按钮的右上角添加一个“垃圾”图像,这样当用户点击垃圾图像时,该按钮将从 vstack 中删除。我想我应该使用 zstack 来定位垃圾图像,但我现在不知道如何。下面显示了垃圾图像应位于每个按钮中的位置。

在此输入图像描述

另外,当我按下“删除按钮”时,似乎每个按钮的文本大小和与另一个按钮的间距略有变化。我该如何克服这个问题?当点击“删除按钮”时,按钮位置、间距、文本大小应保持不变。

struct someButton: View {
    @Environment(\.editMode) var mode
    @ObservedObject var someData = SomeData()
    @State var newButtonTitle = ""
    @State var isEdit = false

    var body: some View {
        NavigationView{
//            List{ // VStack
                VStack{
                    VStack{
                        ForEach(Array(someData.buttonTitles.keys.enumerated()), id: \.element){ ind, buttonKeyName in
//

                               Button(action: {
                                self.someData.buttonTitles[buttonKeyName] = !self.someData.buttonTitles[buttonKeyName]!
                                print("Button pressed! buttonKeyName is: \(buttonKeyName) Index is \(ind)")
                                print("bool is \(self.someData.buttonTitles[buttonKeyName]!)")



                               }) {
                                   HStack{ //HStack, ZStack
                                    if self.isEdit{
                                           Image(systemName: "trash")
                                            .foregroundColor(.red)
                                            .onTapGesture{
                                                print("buttonkey \(buttonKeyName) will be deleted")
                                                self.deleteItem(ind: …
Run Code Online (Sandbox Code Playgroud)

button swift swiftui

2
推荐指数
1
解决办法
2797
查看次数

标签 统计

button ×1

swift ×1

swiftui ×1