मैं फोन करना चाहते हैं childFunction() डेमो ChildView में बटन दबाने से माता पिता को देखने.
import SwiftUI
struct ChildView: View {
func childFunction() {
print("I am the child")
}
var body: some View {
Text("I am the child")
}
}
struct ContentView: View {
var function: (() -> Void)?
var body: some View {
ChildView()
Button(action: {
self.function!()
}, label: {
Text("Button")
})
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
अद्यतन: धन्यवाद @RajaKishan, यह काम करता है, लेकिन मैं की जरूरत है यह काम भी बारी बारी से
import SwiftUI
struct ContentView: View {
@State var text: String = "Parent"
var isNavigationViewAvailable = true
func function() {
print("This view is \(text)")
}
var body: some View {
VStack {
if isNavigationViewAvailable {
Button(action: {
function()
}, label: {
Text("Button")
})
}
if isNavigationViewAvailable {
NavigationView {
List {
NavigationLink("Child1") {
ContentView(text: "Child1", isNavigationViewAvailable: false)
}
NavigationLink("Child2") {
ContentView(text: "Child2", isNavigationViewAvailable: false)
}
NavigationLink("Child3") {
ContentView(text: "Child3", isNavigationViewAvailable: false)
}
}
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
हो सकता है नहीं है सबसे अच्छा उदाहरण है, लेकिन सवाल है, कैसे करने के लिए बल चलाने के लिए बटन के समारोह में यह बच्चे के बाद उपयोगकर्ता का दौरा किया इसी बच्चे ।
की तरह, पर शुरू जब उपयोगकर्ता बटन दबाता यह प्रिंट "इस दृश्य माता-पिता". के बाद उपयोगकर्ता के लिए आता है child1 बटन प्रेस प्रिंट चाहिए "यह विचार है Child1" के रूप में इतने पर । तो, कि समारोह बटन रन से संदर्भित किया जाना चाहिए पिछले बच्चे ।
अद्यतन: अंत में मैंने लिखा था इस समाधान.
अद्यतन: मैं प्रतिक्रिया प्राप्त हुई, मुझसे पूछ स्पष्टीकरण के लिए. कोई समस्या नहीं है । मुझे आशा है कि यह मदद करता हूँ किसी को.:)
स्पष्टीकरण: मैं नहीं था, लगा देना पूरे कोड, बस के लिए इस्तेमाल किया एक सरल उदाहरण है । लेकिन मैं इस की जरूरत है अपने कार्यान्वयन के एक पेड़ की तरह उत्पन्न मेनू: जब प्रत्येक आइटम मेनू में है या नहीं है, अपने बच्चों को. दबाने पर माता-पिता वस्तु उपयोगकर्ता में आता है, बच्चे वस्तुओं. और यहाँ मैं की जरूरत करने के लिए सक्षम होना करने के लिए वापस आने से एक बच्चे चीज के लिए माता-पिता, लेकिन इस कॉल को खारिज समारोह माता-पिता से वस्तु. इस के लिए मैं निम्नलिखित कोड और संदर्भित करने के लिए इस समारोह के लिए प्रत्येक माता पिता के लिए ऑब्जेक्ट:
@Environment(\.presentationMode) var presentationMode
presentationMode.wrappedValue.dismiss()