SwiftUI-根据输入参数更改视图变量
如何根据调用视图时提供的输入参数categorySize更改视图中的@State变量大小 我想在categorySize=.Large时将大小更改为140,在categorySize=.Small时将大小更改为40SwiftUI-根据输入参数更改视图变量,swift,swiftui,swiftui-state,Swift,Swiftui,Swiftui State,如何根据调用视图时提供的输入参数categorySize更改视图中的@State变量大小 我想在categorySize=.Large时将大小更改为140,在categorySize=.Small时将大小更改为40 enum ExampleEnum { case Large case Small } struct TestView: View { let categorySize: ExampleEnum @State private var size: CG
enum ExampleEnum {
case Large
case Small
}
struct TestView: View {
let categorySize: ExampleEnum
@State private var size: CGFloat = 92
var body: some View {
Image(name: "TestImage")
.resizable()
.frame(width: size, height: size)
}
}
TestView(categorySize: .Small)
我尝试通过if语句执行此操作,但没有成功:
struct TestView: View {
let categorySize: ExampleEnum
@State private var size: CGFloat = 92
var body: some View {
if categorySize == .Large { <=== Not working
$size = 140
} else if categorySize == .Small {
$size = 40
}
Image(name: "TestImage")
.resizable()
.frame(width: size, height: size)
}
}
struct TestView:View{
让类别化:ExampleEnum
@国家私有变量大小:CGFloat=92
var body:一些观点{
如果categorySize=.Large{这里是可能的方法
struct TestView: View {
let categorySize: ExampleEnum
var body: some View {
var size: CGFloat = 92
if categorySize == .Large {
size = 140
} else if categorySize == .Small {
size = 40
}
return Image(name: "TestImage")
.resizable()
.frame(width: size, height: size)
}
}