เป้าหมาย
รับข้อมูลที่จะแสดงใน scrollView
ผลลัพธ์ที่คาดหวัง
ผลลัพธ์ที่แท้จริง
ทางเลือก
ใช้List
แต่ไม่ยืดหยุ่น (ไม่สามารถลบตัวคั่นไม่สามารถมีหลายคอลัมน์ได้)
รหัส
struct Object: Identifiable {
var id: String
}
struct Test: View {
@State var array = [Object]()
var body: some View {
// return VStack { // uncomment this to see that it works perfectly fine
return ScrollView(.vertical) {
ForEach(array) { o in
Text(o.id)
}
}
.onAppear(perform: {
self.array = [Object(id: "1"),Object(id: "2"),Object(id: "3"),Object(id: "4"),Object(id: "5")]
})
}
}
ฉันทดสอบสิ่งนี้ใน Xcode 11.1, iOS 13.1, Swift 5 และได้รับผลลัพธ์ที่คาดหวัง (แม้ว่ามุมมองเลื่อนจะอยู่ด้านบนแทนที่จะอยู่ตรงกลาง)
—
sfung3
คุณไม่ต้องการคำหลัก
—
sfung3
return
ที่น่าสนใจฉันใช้ Xcode 11.2, iOS 13.2, Swift 5
—
youjin
ใช่ฉันมี
—
youjin
print
คำสั่งก่อนหน้านี้ดังนั้นreturn
ฉันจะอัปเดตเป็น Xcode 11.2 และดูว่าฉันจะทำซ้ำได้ไหม อาจใช้เวลาสักครู่ แต่ฉันจะอัปเดตคุณในสิ่งที่ฉันค้นพบ
—
sfung3