import SwiftUI
struct ContentView: View {
@State var btn5State: Bool = false
var body: some View {
VStack(spacing: 20) {
// 最基础button, 点击时间和文字
Button("btn1") {
print("点击了btn1")
}
.padding()
.background(Color.red)
.cornerRadius(20)
.shadow(radius: 10)
//带有图片和文字的btn
Button(action: {
print("点击了btn2")
}, label: {
// 默认是横向布局(HStack)
// 图片会撑开 button
Image("sub_thumb_1")
.resizable()
.scaledToFit()
.frame(width: 200)
// .cornerRadius(10)
Text("点击呀")
})
.padding()
// .cornerRadius(100)
// .background(Color.blue)
// //这里对比了一些,按钮里边有图片的情况和直接给图片添加点击手势的情况
// Image("sub_thumb_1")
// .resizable()
// .scaledToFit()
// .frame(width: 200)
// .onTapGesture(perform: {
// print("点击了图片")
// })
Button(action: {
print("点击了btn3")
}, label: {
VStack {
Text("图片上的文字")
.foregroundColor(.blue)
Image("sub_thumb_2")
.resizable()
.scaledToFill()
.frame(width:60,height: 60)
.clipped()
Text("图片下的文字")
}
})
.foregroundColor(.red)
//带有状态绑定的btn
Button(action: {
//状态反转
self.btn5State.toggle()
}, label: {
VStack {
//增加点击
Text(( self.btn5State ? "btn5, 已选中" : "btn5, 未选中"))
Image(( self.btn5State ? "sub_thumb_3" : "sub_thumb_4"))
.resizable()//设置可调整大小
.scaledToFit()
.frame(width: 200)
}
})
// //这里新建一个image来对比一下,这里也是绑定了btn5State的状态
// Image(( self.btn5State ? "sub_thumb_3" : "sub_thumb_4"))
// .resizable()//设置可调整大小
// .scaledToFit()
// .frame(width: 200)
// .onTapGesture(perform: {
// self.btn5State = !self.btn5State
// })
//带有状态绑定的btn
Button(action: {
//状态反转
self.btn5State.toggle()
}, label: {
if self.btn5State {
Text("已选中")
}
else{
Text("未选中")
}
})
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
Button
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。