SwiftUI Advanced
Layout protocol, preference keys, GeometryReader, matchedGeometryEffect, ViewBuilder
1Layout protocol ใน SwiftUI คืออะไร?
Layout protocol ใน SwiftUI คืออะไร?
คำตอบ
Layout protocol ช่วยให้สร้าง view container แบบกำหนดเองได้โดยการกำหนดว่า subview จะถูกจัดตำแหน่งและกำหนดขนาดอย่างไร มันแทนที่วิธีการใช้ GeometryReader แบบ manual สำหรับ layout ที่ซับซ้อน โดยมอบ API แบบ declarative และ composable สำหรับการสร้างการจัดเรียง view ที่ซับซ้อน
2จะใช้งาน layout แบบกำหนดเองโดยการ conform กับ protocol Layout ได้อย่างไร?
จะใช้งาน layout แบบกำหนดเองโดยการ conform กับ protocol Layout ได้อย่างไร?
คำตอบ
การใช้งาน Layout ต้องกำหนดเมธอดหลักสองตัว: sizeThatFits ที่คืนค่าขนาดรวมของคอนเทนเนอร์ และ placeSubviews ที่จัดตำแหน่งแต่ละ subview โดยใช้ข้อเสนอการวาง เมธอดเหล่านี้ทำงานร่วมกันเพื่อสร้างระบบ layout ที่สอดคล้องและคาดเดาได้
3ข้อได้เปรียบหลักของการใช้ protocol Layout เหนือ GeometryReader คืออะไร?
ข้อได้เปรียบหลักของการใช้ protocol Layout เหนือ GeometryReader คืออะไร?
คำตอบ
protocol Layout มอบแนวทางที่ composable และนำกลับมาใช้ใหม่ได้สำหรับ layout ในขณะที่ GeometryReader มักต้องการโค้ดแบบ imperative ในแต่ละ view โดย Layout จะแยกตรรกะการวางตำแหน่งออกจากตรรกะการ render ซึ่งช่วยเพิ่มความสามารถในการทดสอบและการบำรุงรักษาของคอมโพเนนต์
จะส่งพารามิเตอร์การกำหนดค่าไปยัง layout แบบกำหนดเองได้อย่างไร?
เมื่อใดควรใช้ GeometryReader แทนที่จะใช้ Layout protocol?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ iOS อื่นๆ
พื้นฐาน Swift
พื้นฐานภาษา Swift
พื้นฐาน UIKit
วงจรชีวิตของ UIViewController
UserDefaults & Keychain
วงจรชีวิตของแอปพลิเคชัน
Auto Layout & Constraints
UITableView & UICollectionView
พื้นฐาน SwiftUI
การจัดการ State ใน SwiftUI
การนำทาง SwiftUI
Networking & URLSession
Codable และการแยกวิเคราะห์ JSON
Core Data
การเขียนโปรแกรมเชิงโปรโตคอล
สถาปัตยกรรม MVVM
การแจ้งเตือนแบบ Push
Unit Testing และ XCTest
การทดสอบ UI
Xcode และระบบ Build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
การเพิ่มประสิทธิภาพ
ความปลอดภัยและการเข้ารหัส
สถาปัตยกรรมแอปพลิเคชัน iOS
เชี่ยวชาญ iOS สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี