Présentation d'une collection de backport Swiftui pour faciliter votre développement iOS.
De nombreux backports prennent en charge iOS 13+ mais lorsque les fonctionnalités UIKIT ont été introduites dans les versions ultérieures, la même chose sera applicable à ces backports, pour maintenir la parité avec Uikit.
Dans certains cas, j'ai également inclus des API supplémentaires qui apportent plus de fonctionnalités à votre développement Swiftui.
Remarque, tous les backports seront appariés aux API aux API officielles d'Apple, toutes les fonctionnalités supplémentaires seront fournies séparément.
Tous les arrière-ports sont entièrement documentés, dans la plupart des cas, en utilisant la propre documentation d'Apple pour la cohérence. Veuillez vous référer à la documentation d'origine de l'en-tête ou de l'Apple pour plus de détails.
Il existe également un projet de démonstration disponible où vous pouvez voir des démonstrations complètes de toutes les arrière-plans et des fonctionnalités supplémentaires, y compris le code de référence pour vous aider à démarrer.
Enfin, j'espère que ce dépôt sert également de ressource excellente pour savoir comment vous pouvez effectuer un backport efficacement avec un minimum de hacks?
Une documentation complète peut être trouvée ici.
Construire des bibliothèques utiles comme celles-ci prend du temps de ma famille. Je construis ces outils pendant mon temps libre parce que je pense qu'il est important de redonner à la communauté. Veuillez envisager de me parrainer car cela m'aide à travailler sur des bibliothèques utiles comme celles-ci?
Vous pouvez également me donner un suivi et un «merci» à tout moment.
La bibliothèque adopte une conception de backport de Dave Delong qui utilise un seul type pour améliorer la découvre et la maintenabilité lorsque le moment est venu de supprimer vos implémentations de backport, en faveur des API officielles.
Les back-backs de types purs peuvent facilement être découverts sous l'espace de noms de Backport . De même, les modificateurs sont découvrables sous l'espace de noms .backport .
Malheureusement, les backports
Environmentne peuvent pas être accès de cette façon, dans ces cas, les valeurs de l'API Apple seront préfixées avecbackportpour simplifier la découverte.
Types:
@ Backport . AppStorage ( " filter-enabled " )
private var filterEnabled : Bool = falseModificateur:
Button ( " Show Prompt " ) {
showPrompt = true
}
. sheet ( isPresented : $showPrompt ) {
Prompt ( )
. backport . presentationDetents ( [ . medium , . large ] )
}Environnement:
@ Environment ( . backportRefresh ) private var refreshAction Swiftui
AsyncImageAppStoragebackground - API ViewBuilderDismissActionDynamicTypeSize - Label - LabeledContentNavigationDestination - Utilise un NavigationView standardnavigationTitle - API plus récenteoverlay - API ViewBuilderonChangeopenURLProgressViewpresentationDetentspresentationDragIndicatorquicklookPreviewrequestReviewRefreshable - Comprend Pull-to-RafreshScaledMetricShareLinkStateObjectscrollDisabledscrollDismissesKeyboardscrollIndicatorsSection(_ header:)task - Modificateur async / AwaitUikit
UIHostingConfiguration - simplifie l'intégration de Swiftui dans UICollectionViewCell et UITableViewCell Présentations modales
Ajoutant cela à votre vue présentée, vous pouvez utiliser la fermeture fournie pour présenter une ActionSheet à un utilisateur lorsqu'il tente de rejeter de manière interactive. Vous pouvez également l'utiliser pour désactiver complètement les licenciements interactifs.
presentation ( isModal : true ) { /* attempt */ }Leader de la remise
Une implémentation GeometryReader personnalisée qui se propage correctement à son contenu. Ceci est utile dans de nombreux cas où vous avez besoin d'un GeometryReader , mais je ne veux pas qu'il prenne implicitement les limites de sa vue parent.
RaccordscrollView
Un ScrollView personnalisé qui respecte les Spacer lorsque le contenu n'est pas défilé. Ceci est utile lorsque vous devez placer une vue sur les bords de votre ScrollView tandis que son contenu est suffisamment petit pour ne pas nécessiter de défiler. Un autre excellent cas d'utilisation est un contenu centré verticalement qui devient top aligné une fois que le contenu nécessite de défiler.
Vous pouvez installer manuellement (en copiant les fichiers dans le répertoire Sources ) ou en utilisant Swift Package Manager ( préféré )
Pour installer à l'aide de Swift Package Manager, ajoutez-le à la section dependencies de votre fichier Package.swift :
.package(url: "https://github.com/shaps80/SwiftUIBackports.git", .upToNextMajor(from: "2.0.0"))