แนะนำคอลเลกชันของ Backports Swiftui เพื่อให้การพัฒนา iOS ของคุณง่ายขึ้น
backports หลายคนรองรับ iOS 13+ แต่มีการแนะนำคุณสมบัติ UIKIT ในรุ่นต่อ ๆ มาจะใช้กับ backports เหล่านี้เพื่อรักษาความเท่าเทียมกับ Uikit
ในบางกรณีฉันได้รวม API เพิ่มเติมที่นำคุณสมบัติเพิ่มเติมมาสู่การพัฒนา Swiftui ของคุณ
หมายเหตุ backport ทั้งหมด จะจับคู่ API กับ API อย่างเป็นทางการของ Apple คุณลักษณะเพิ่มเติมใด ๆ จะถูกจัดเตรียมแยกต่างหาก
backport ทั้งหมดได้รับการบันทึกไว้อย่างสมบูรณ์ในกรณีส่วนใหญ่โดยใช้เอกสารของ Apple เพื่อความสอดคล้อง โปรดดูเอกสารส่วนหัวหรือเอกสารต้นฉบับของ Apple สำหรับรายละเอียดเพิ่มเติม
นอกจากนี้ยังมีโครงการสาธิตที่คุณสามารถเห็นการสาธิตเต็มรูปแบบของแบ็คพอร์ทและคุณสมบัติเพิ่มเติมทั้งหมดรวมถึงรหัสอ้างอิงเพื่อช่วยให้คุณเริ่มต้นได้
สุดท้ายฉันหวังว่า repo นี้จะทำหน้าที่เป็นแหล่งข้อมูลที่ยอดเยี่ยมสำหรับ วิธีที่ คุณสามารถย้อนกลับได้อย่างมีประสิทธิภาพด้วยแฮ็กน้อยที่สุด?
เอกสารฉบับเต็มสามารถพบได้ที่นี่
การสร้างห้องสมุดที่มีประโยชน์เช่นนี้ใช้เวลาห่างจากครอบครัวของฉัน ฉันสร้างเครื่องมือเหล่านี้ในเวลาว่างเพราะฉันรู้สึกว่ามันสำคัญที่จะตอบแทนชุมชน โปรดพิจารณาให้การสนับสนุนฉันเพราะมันช่วยให้ฉันทำงานกับห้องสมุดที่มีประโยชน์เช่นนี้?
คุณยังสามารถให้ฉันติดตามและ 'ขอบคุณ' ได้ตลอดเวลา
ห้องสมุดใช้การออกแบบ backport โดย Dave Delong ที่ใช้ประโยชน์จากประเภทเดียวเพื่อปรับปรุงการค้นพบและการบำรุงรักษาเมื่อถึงเวลาที่จะลบการใช้งาน backport ของคุณเพื่อสนับสนุน API อย่างเป็นทางการ
Backports ประเภทบริสุทธิ์สามารถค้นพบได้อย่างง่ายดายภายใต้เนมสเปซ Backport ในทำนองเดียวกันตัวดัดแปลงสามารถค้นพบได้ภายใต้เนมสเปซ .backport
น่าเสียดายที่แบ็คพอร์ท
Environmentไม่สามารถเข้าถึงได้ด้วยวิธีนี้ในกรณีเหล่านั้นค่า Appi API จะได้รับการแก้ไขด้วยbackportเพื่อให้การค้นพบง่ายขึ้น
ประเภท:
@ Backport . AppStorage ( " filter-enabled " )
private var filterEnabled : Bool = falseตัวดัดแปลง:
Button ( " Show Prompt " ) {
showPrompt = true
}
. sheet ( isPresented : $showPrompt ) {
Prompt ( )
. backport . presentationDetents ( [ . medium , . large ] )
}สิ่งแวดล้อม:
@ Environment ( . backportRefresh ) private var refreshAction Swiftui
AsyncImageAppStoragebackground - ViewBuilder APIDismissActionDynamicTypeSize - Label - LabeledContentNavigationDestination - ใช้ NavigationView มาตรฐานnavigationTitle - API ใหม่กว่าoverlay - ViewBuilder APIonChangeopenURLProgressViewpresentationDetentspresentationDragIndicatorquicklookPreviewrequestReviewRefreshable -รวมถึงการดึงกลับแบบ pull-to-refreshScaledMetricShareLinkStateObjectscrollDisabledscrollDismissesKeyboardscrollIndicatorsSection(_ header:)task - Async/Await ModifierUikit
UIHostingConfiguration - ลดความซับซ้อนของการฝัง Swiftui ใน UICollectionViewCell และ UITableViewCell การนำเสนอเป็นกิริยาช่วย
การเพิ่มสิ่งนี้ลงในมุมมองที่นำเสนอของคุณคุณสามารถใช้การปิดที่ให้ไว้เพื่อนำเสนอ ActionSheet ให้กับผู้ใช้เมื่อพวกเขาพยายามที่จะยกเลิกการโต้ตอบ นอกจากนี้คุณยังสามารถใช้สิ่งนี้เพื่อปิดใช้งานการเลิกจ้างแบบโต้ตอบทั้งหมด
presentation ( isModal : true ) { /* attempt */ }FittingGeometryReader
การใช้งาน GeometryReader แบบกำหนดเองที่กำหนดขนาดอัตโนมัติให้กับเนื้อหาอย่างถูกต้อง สิ่งนี้มีประโยชน์ในหลาย ๆ กรณีที่คุณต้องการ GeometryReader แต่ไม่ต้องการให้ใช้ขอบเขตมุมมองของผู้ปกครองโดยปริยาย
FittingsCrollView
ScrollView ที่กำหนดเองที่เคารพของ Spacer เมื่อเนื้อหาไม่สามารถเลื่อนได้ สิ่งนี้มีประโยชน์เมื่อคุณต้องการวางมุมมองที่ขอบของ ScrollView ของคุณในขณะที่เนื้อหามีขนาดเล็กพอที่จะไม่ต้องเลื่อน กรณีการใช้งานที่ยอดเยี่ยมอีกกรณีหนึ่งคือเนื้อหาที่มีศูนย์กลางในแนวตั้งซึ่งจะอยู่ใน top เดียวกันเมื่อเนื้อหาต้องการการเลื่อน
คุณสามารถติดตั้งด้วยตนเอง (โดยการคัดลอกไฟล์ในไดเรกทอรี Sources ) หรือใช้ Swift Package Manager ( ต้องการ )
ในการติดตั้งโดยใช้ Swift Package Manager ให้เพิ่มสิ่งนี้ลงในส่วน dependencies ของไฟล์ Package.swift ของคุณ:
.package(url: "https://github.com/shaps80/SwiftUIBackports.git", .upToNextMajor(from: "2.0.0"))