Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SwiftUI-根据输入参数更改视图变量_Swift_Swiftui_Swiftui State - Fatal编程技术网

SwiftUI-根据输入参数更改视图变量

SwiftUI-根据输入参数更改视图变量,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

如何根据调用视图时提供的输入参数categorySize更改视图中的@State变量大小

我想在categorySize=.Large时将大小更改为140,在categorySize=.Small时将大小更改为40

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)
    }
}