引入SwiftUi式备流集合,以使您的iOS开发更加容易。
许多Backports支持iOS 13+,但是在以后的版本中引入Uikit功能的地方,将适用于这些Backports,以保持与Uikit的均衡。
在某些情况下,我还提供了其他API,这些API为您的SwiftUI开发带来了更多功能。
请注意,所有备用运动都将与Apple的官方API匹配,任何其他功能都将分别提供。
在大多数情况下,使用Apple自己的文档以保持一致性,所有Backports均已充分记录。有关更多详细信息,请参阅标题文档或Apple的原始文档。
还有一个演示项目,您可以在其中看到所有Backports和其他功能的完整演示,包括参考代码,以帮助您开始。
最后,我希望此仓库也可以成为如何有效地使用最小黑客攻击的重要资源?
完整的文档可以在此处找到。
建立有用的图书馆需要时间离开我的家人。我在业余时间构建这些工具,因为我认为回馈社区很重要。请考虑赞助我,因为它可以帮助我在此类有用的图书馆工作?
您也可以随时随地给我跟随和“感谢”。
图书馆采用戴夫·德隆(Dave DeLong)的Backport Design,它利用一种类型的方式来提高删除Backport实施的时机,以促进官方API。
可以在Backport命名空间下轻松发现纯类型的后座。同样,在.backport名称空间下可以发现修饰符。
不幸的是,
Environment返波无法通过这种方式访问,在这种情况下,Apple 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 斯威夫特
AsyncImageAppStoragebackground - ViewBuilder APIDismissActionDynamicTypeSize - Label - LabeledContentNavigationDestination - 使用标准NavigationViewnavigationTitle - 更新的APIoverlay - ViewBuilder APIonChangeopenURLProgressViewpresentationDetentspresentationDragIndicatorquicklookPreviewrequestReviewRefreshable - 包括拉力到倒数ScaledMetricShareLinkStateObjectscrollDisabledscrollDismissesKeyboardscrollIndicatorsSection(_ header:)task - 异步/等待修饰符Uikit
UIHostingConfiguration - 简化嵌入swiftui在UICollectionViewCell和UITableViewCell中模态演示
将其添加到您提出的视图中,您可以使用提供的封闭方式在用户尝试交互式解散时向用户展示ActionSheet 。您也可以将其完全禁用交互式解雇。
presentation ( isModal : true ) { /* attempt */ }FittingGeeMeTryReader
一个自定义自动尺寸自动尺寸到其内容的自定义GeometryReader实现。在许多情况下,这很有用,在您需要GeometryReader但不希望它隐式占据其父视图的范围的情况下。
fittingsCrollview
当内容不可滚动时,它尊重Spacer的自定义ScrollView 。当您需要在卷轴的边缘上放置视图,而其内容则足够小,以至于不需要滚动时,这很有用。另一个很棒的用例是垂直中心的内容,一旦内容需要滚动,它就会成为top 。
您可以手动安装(通过在Sources目录中复制文件)或使用Swift Package Manager(首选)
要使用Swift Package Manager安装,请将其添加到Package.swift的dependencies项部分。Swift文件:
.package(url: "https://github.com/shaps80/SwiftUIBackports.git", .upToNextMajor(from: "2.0.0"))