เมื่อนำทางไปยังมุมมองใหม่ด้วยฟอร์มหรือรายการ (จัดกลุ่ม) เนื้อหาจะปรากฏขึ้นประมาณหนึ่งในสี่ส่วนจากด้านล่างของชื่อมุมมองการนำทางจากนั้น "ปรากฏ" ขึ้นไปยังตำแหน่งที่ถูกต้องประมาณครึ่งวินาทีในภายหลัง น่าเกลียดมาก. ไม่แน่ใจว่านี่เป็นข้อผิดพลาด SwiftUI หรือฉันกำลังจัดโครงสร้างบางอย่างไม่ถูกต้องหรือไม่
ฉันทดสอบสิ่งนี้ทั้งในเครื่องจำลองและอุปกรณ์ที่มีผลลัพธ์เหมือนกัน
ฉันคิดว่ามันมีบางอย่างเกี่ยวกับวิธีจัดการลิงก์นำทาง? ลิงก์การนำทางทุกรายการจะเรียก init () บนมุมมองปลายทางเมื่อ ContentView ปรากฏขึ้น สำหรับฉันสิ่งนี้ไม่สมเหตุสมผลไม่ควรเรียก init ปลายทาง () เรียกเฉพาะช่วงเวลาที่ผู้ใช้คลิกลิงก์การนำทางจริงหรือ
ฉันได้ลองกับแผ่นงานนี้และปัญหาไม่ได้อยู่กับแผ่นงานเฉพาะเมื่อใช้การเชื่อมโยงการนำทางที่มีรูปแบบหรือรายการที่จัดกลุ่มตามสไตล์
รหัสจากแอปพลิเคชันมุมมองใหม่ล่าสุด:
struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(destination: TestView()) {
Text("Test Link")
}
.navigationBarTitle("Content View")
}
}
}
struct TestView: View {
var body: some View {
Form {
Text("Test View")
}
.navigationBarTitle("Test View")
}
}