ios 在SwiftUI中向按钮添加文本和图像

2nc8po8w  于 10个月前  发布在  iOS
关注(0)|答案(3)|浏览(99)

我尝试在Button上添加TextImage,如下所示:

Button(action: {}) {
        Image("gift")
        Text("Send")
            .padding(.horizontal)
    }
    .padding()
    .foregroundColor(.white)
    .background(Color.gray)
    .cornerRadius(.infinity)

字符串
按钮外观:


的数据
但我想创造这个:



谢谢

roqulrg3

roqulrg31#

只要把ImageText放在HStack里面.

Button(action: {}) {
    HStack {
        Image(systemName: "gift")
        Text("Send")
    }
}
.padding()
.foregroundColor(.white)
.background(Color.gray)
.cornerRadius(.infinity)

字符串


的数据

kyvafyod

kyvafyod2#

从iOS 14开始,有一个标准视图来实现此布局:

Button(action: {}) {
  Label("Send", image: "gift")
    .padding()
    .foregroundColor(.white)
    .background(Color.gray)
    .cornerRadius(.infinity)
}

字符串
此外,在Button视图中的内容中添加样式修饰符可以使按钮背景也可替换。在按钮外部添加样式修饰符将导致只有图像和文本所占用的直接区域(Button视图的主体)可替换,而周围的按钮背景(灰色区域)不可替换。

xzabzqsa

xzabzqsa3#

SwiftUI
它在按钮TextImageShadow上工作正常

Button(action: {

            }) {
                HStack {
                    Image(uiImage: UIImage(named: "Login")!)
                        .renderingMode(.original)
                        .font(.title)
                        .foregroundColor(.blue)
                    Text("Login")
                        .font(.title)
                        .foregroundColor(.white)
                }

                .font(.system(size: 15))

                .frame(minWidth: 0, maxWidth: .infinity)
                .background(LinearGradient(gradient: Gradient(colors: [Color("DarkGreen"), Color("LightGreen")]), startPoint: .leading, endPoint: .trailing))
                .cornerRadius(40)
                .frame(width: 200, height: 60, alignment: .center)
                .shadow(color: .red, radius: 5, x: 0, y: 0)

            }

字符串


的数据

相关问题