swift SwipeAction不使用.tint()修饰符更改颜色

pnwntuvh  于 2023-01-16  发布在  Swift
关注(0)|答案(2)|浏览(104)
List{
            Button{
                //Checking in
            }label: {
                Text("Check in")
                    .swipeActions {
                        Button{
                           //Checking in
                        }label: {
                            Text("Check in")
                        }.tint(.red)
                    }
            }
        }

我试过在一行上滑动的时候改变背景的颜色,但是没有任何效果,它仍然是标准的灰色。

我看过很多人,他们似乎都把修饰语放在了和我一样的地方,但他们得到的结果不同。

8e2ybdfx

8e2ybdfx1#

.buttonStyle(.plain)添加到列表中的Button

List {
    Button {
        //Checking in
    } label: {
        Text("Check in")
            .swipeActions {
                Button {
                    //Checking in
                } label: {
                    Text("Check in")
                }
                .tint(.red)
            }
    }
    .buttonStyle(.plain)            
}
nue99wik

nue99wik2#

它不起作用,因为您试图在Text上设置滑动操作,而正在滑动的是Button
只需将修改器应用于Button而不是Text

List{
    Button{
        //Checking in
    }label: {
        Text("Check in")
    }
    
    // The modifier is applied on the  Button, not on the Text
    .swipeActions {
        Button{
            //Checking in
        }label: {
            Text("Check in")
        }.tint(.red)
    }
}

相关问题