Memperkenalkan koleksi backport swiftUi untuk membuat pengembangan iOS Anda lebih mudah.
Banyak backports mendukung iOS 13+ tetapi di mana fitur UIKIT diperkenalkan dalam versi selanjutnya, hal yang sama akan berlaku untuk backports ini, untuk menjaga paritas dengan Uikit.
Dalam beberapa kasus, saya juga menyertakan API tambahan yang membawa lebih banyak fitur untuk pengembangan SwiftUi Anda.
Catatan, semua backport akan cocok dengan API ke API resmi Apple, fitur tambahan apa pun akan disediakan secara terpisah.
Semua backports sepenuhnya didokumentasikan, dalam kebanyakan kasus menggunakan dokumentasi Apple sendiri untuk konsistensi. Silakan merujuk ke header docs atau dokumentasi asli Apple untuk detail lebih lanjut.
Ada juga proyek demo yang tersedia di mana Anda dapat melihat demonstrasi lengkap dari semua backport dan fitur tambahan, termasuk kode referensi untuk membantu Anda memulai.
Terakhir, saya berharap repo ini juga berfungsi sebagai sumber yang bagus untuk bagaimana Anda dapat mendukung secara efektif dengan peretasan minimal?
Dokumentasi lengkap dapat ditemukan di sini.
Membangun perpustakaan yang berguna seperti ini, membutuhkan waktu jauh dari keluarga saya. Saya membangun alat -alat ini di waktu luang karena saya merasa penting untuk memberikan kembali kepada masyarakat. Tolong pertimbangkan untuk mensponsori saya karena membantu saya bekerja di perpustakaan yang berguna seperti ini?
Anda juga dapat memberi saya ikuti dan 'terima kasih' kapan saja.
Perpustakaan mengadopsi desain backport oleh Dave Delong yang memanfaatkan jenis tunggal untuk meningkatkan kemampuan menemukan dan pemeliharaan ketika saatnya tiba untuk menghapus implementasi Backport Anda, mendukung API resmi.
Backport dari tipe murni, dapat dengan mudah ditemukan di bawah namespace Backport . Demikian pula, pengubah dapat ditemukan di bawah namespace .backport .
Sayangnya
EnvironmentBackports tidak dapat diakses dengan cara ini, dalam kasus -kasus tersebut nilai API Apple akan diawali denganbackportuntuk menyederhanakan penemuan.
Jenis:
@ Backport . AppStorage ( " filter-enabled " )
private var filterEnabled : Bool = falsePengubah:
Button ( " Show Prompt " ) {
showPrompt = true
}
. sheet ( isPresented : $showPrompt ) {
Prompt ( )
. backport . presentationDetents ( [ . medium , . large ] )
}Lingkungan:
@ Environment ( . backportRefresh ) private var refreshAction SwiftUi
AsyncImageAppStoragebackground - API ViewBuilderDismissActionDynamicTypeSize - Label - LabeledContentNavigationDestination - Menggunakan NavigationView StandarnavigationTitle - API yang lebih baruoverlay - API ViewBuilderonChangeopenURLProgressViewpresentationDetentspresentationDragIndicatorquicklookPreviewrequestReviewRefreshable -Termasuk tarik-ke-refreshScaledMetricShareLinkStateObjectscrollDisabledscrollDismissesKeyboardscrollIndicatorsSection(_ header:)task - Async/Await ModifierUikit
UIHostingConfiguration - Menyederhanakan SWIFTUI DI UICollectionViewCell DAN UITableViewCell Presentasi Modal
Menambahkan ini ke tampilan yang Anda sajikan, Anda dapat menggunakan penutupan yang disediakan untuk menyajikan ActionSheet kepada pengguna ketika mereka mencoba untuk mengabaikan secara interaktif. Anda juga dapat menggunakan ini untuk menonaktifkan pemecatan interaktif sepenuhnya.
presentation ( isModal : true ) { /* attempt */ }FittingGeometryReader
Implementasi GeometryReader kustom yang benar-benar ukuran otomatis untuk isinya. Ini berguna dalam banyak kasus di mana Anda memerlukan GeometryReader tetapi tidak ingin secara implisit mengambil batas -batas tampilan induknya.
FittingsCrollView
ScrollView khusus yang menghormati Spacer ketika konten tidak dapat digulir. Ini berguna ketika Anda perlu menempatkan tampilan di tepi scrollview Anda sementara kontennya cukup kecil untuk tidak memerlukan pengguliran. Kasing penggunaan hebat lainnya adalah konten berpusat vertikal yang menjadi selaras top setelah konten membutuhkan pengguliran.
Anda dapat menginstal secara manual (dengan menyalin file di direktori Sources ) atau menggunakan Swift Package Manager ( lebih disukai )
Untuk menginstal menggunakan Swift Package Manager, tambahkan ini ke bagian dependencies file Package.swift Anda:
.package(url: "https://github.com/shaps80/SwiftUIBackports.git", .upToNextMajor(from: "2.0.0"))