SwiftUI初心者です。
ある一つのToggleをオンにしたとき、画面上の他のToggleをオフにしたいと思います。
ToggleBをオンにしたとき、ToggleAはオフになるのですが
ToggleAをオンにしたとき、ToggleBはオフになりません。
swift
1struct SomeView: View { 2 // 3 @State private var isA:Bool = false 4 @State private var isB:Bool = false 5 6 7 8 var body: some View { 9 10 NavigationView { 11 12 VStack 13 14 { 15 //省略 16 17 18 Form { 19 VStack{ 20 //省略 21 }//VStack 22 HStack { 23 //省略 24 }//HSTack 25 HStack { 26 //省略 27 } 28 29 30 31 32 toggleA() 33 toggleB() 34 35 36 }//Form 37 38 } 39 40 } 41 42 43 44 45 46 } 47 48 fileprivate func toggleA() -> some View { 49 return Toggle(”isA”, isOn: $isA) 50 .onReceive([self.isA].publisher.first()) { (value) in 51 //Action code here 52 if $isA.wrappedValue{ 53 isB = false 54 } 55 } 56 } 57 fileprivate func toggleB() -> some View { 58 return Toggle("isB", isOn: $isB) 59 .onReceive([self.isB].publisher.first()) { (value) in 60 //Action code here 61 if $isB.wrappedValue{ 62 isA = false 63 } 64 } 65 } 66}
ご教示よろしくお願いします。
あなたの回答
tips
プレビュー