मैं अपने विचारों में से एक में प्लेसमेंट .bottomBar के साथ टूलबार रखना चाहता हूं। दूर नेविगेट करने और वापस आने पर, टूलबार बाकी दृश्य के साथ सुचारू रूप से संक्रमण नहीं करता है - यह अचानक प्रकट होता है, दृश्य की संपूर्ण सामग्री को ऊपर की ओर स्थानांतरित करता है, जैसा कि नीचे दिखाया गया है।

Top toolbar transitions correctly, but bottom toolbar does not.

यह केवल स्क्रीन के निचले भाग में टूलबार को प्रभावित करता है - जैसा कि आप देख सकते हैं कि स्क्रीन के शीर्ष पर स्थित टूलबार ठीक काम कर रहे हैं।

पहली स्क्रीन पर वापस नेविगेट करते समय मैं निचले टूलबार को आसानी से संक्रमण के लिए कैसे प्राप्त कर सकता हूं?

struct ContentView: View {
  var body: some View {
    NavigationView {
      NavigationLink(
        destination: Text("Destination"),
        label: {
          Text("Navigate")
        })
      .toolbar {
        ToolbarItem(placement: .bottomBar) {
          Text("Bottom")
        }
        ToolbarItem(placement: .principal) {
          Text("Top")
        }
      }
    }
  }
}
1
Daniel Elkington 15 जिंदा 2021, 06:15

1 उत्तर

सबसे बढ़िया उत्तर

मुझे आपके जैसी ही समस्या हो रही है, जहां शीर्ष टूलबार ठीक है लेकिन नीचे टूलबार झिलमिलाहट करता है।

मैं जिस वर्तमान समाधान का उपयोग कर रहा हूं वह है हाथ से नीचे का टूलबार बनाना, उदाहरण के लिए:

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack {
                Spacer()
                NavigationLink(
                    destination: Text("Destination"),
                    label: {
                        Text("Navigate")
                    })
                Spacer()
                NavigationLink(
                    destination: Text("Destination"),
                    label: {
                        ZStack {
                            Rectangle()
                                .frame(height: 90.0)
                                .foregroundColor(.gray).opacity(0.08)
                                .border(Color.gray, width: 0.2)
                            
                            Text("Bottom")
                                .foregroundColor(.black)
                        }
                    })
            }
            .edgesIgnoringSafeArea(.all)

            .toolbar {
                ToolbarItem(placement: .principal) {
                    Text("Top")
                }
            }
        }
    }
}

डेमो लिंक (अभी तक चित्र पोस्ट करने की अनुमति नहीं है)

यह आदर्श नहीं है - मैं टूलबार एपीआई का उपयोग करना पसंद करूंगा, लेकिन इस तरह से सामग्री का स्थानांतरण रुक जाता है।

1
K.F. 20 जिंदा 2021, 14:45
यह अंततः मैंने भी तय किया है। मुझे लगता है कि यह एक स्विफ्टयूआई बग है जिसे उम्मीद है कि जल्द ही ऐप्पल द्वारा तय किया जाएगा!
 – 
Daniel Elkington
21 जिंदा 2021, 01:28