ScalingHeaderScrollView 1.1.4

ScalingHeaderScrollView 1.1.4

Exyte 维护。



                      

Scaling Header Scroll View

拥有固定头部并随滚动缩小的滚动视图。使用 SwiftUI 编写。

SPM Compatible Cocoapods Compatible Carthage Compatible License: MIT

用法

  1. 将您的标题和内容主体代码放入 ScalingHeaderScrollView 构造函数中。
  2. 设置必要的修饰符,详见下方。
struct ContentView: View {

    var body: some View {
       ScalingHeaderScrollView {
            ZStack {
                Rectangle()
                    .fill(.gray.opacity(0.15))
                Image("header")
            }
        } content: {
            Text("↓ Pull to refresh ↓")
                .multilineTextAlignment(.center)
                .padding()
        }
    }
}

必需参数

header - 为您的标题的 @ViewBuilder
content - 为您的内容的 @ViewBuilder

可用修饰符(可选)

将当前折叠进度值传递给进度绑定:0 表示完全没有折叠,1 - 表示完全折叠

.collapseProgress(_ progress: Binding<CGFloat>)

允许设置拉刷新动作的回调和 isLoading 状态

.pullToRefresh(isLoading: Binding<Bool>, perform: @escaping () -> Void)

允许内容滚动重置,需要将绑定更改为 true

.scrollToTop(resetScroll: Binding<Bool>)

更改 Header 的最小和最大高度,默认 min = 150.0max = 350.0

.height(min: CGFloat = 150.0, max: CGFloat = 350.0)

向上滚动时 - 在实际 Header 折叠和简单上移(默认上移)之间切换

.allowsHeaderCollapse()

向下滚动时 - 启用(默认禁用)Header 缩放

.allowsHeaderGrowth()

启用(默认禁用)Header 触发(一旦您抬起手指,Header 会自动触发到最小或最大高度)

.allowsHeaderSnap()

设置 Header 触发自定义位置(前一点解释)。指定任何 0...1 范围内的值以设置触发点,0 - 完全折叠的 Header,1 - 完全展开

.headerSnappingPositions(snapPositions: [CGFloat])

设置自定义初始位置,滚动视图将自动触发到该位置。指定 0...1 范围内的值,0 - 完全折叠的 Header,1 - 完全展开

.initialSnapPosition(initialSnapPosition: CGFloat)

隐藏滚动指示器(默认为 false)

.hideScrollIndicators()

示例

要尝试 ScalingHeaderScrollView 的示例

  • 克隆存储库 https://github.com/exyte/ScalingHeaderScrollView.git
  • 打开终端并运行 cd <ScalingHeaderScrollViewRepo>/Example/
  • 运行 pod install 以安装所有依赖项
  • 运行并打开 Example.xcworkspace/ 以在 Xcode 中打开项目
  • 试试!

安装

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/exyte/ScalingHeaderScrollView.git")
]

CocoaPods

要安装 ScalingHeaderScrollView,只需将以下行添加到您的 Podfile 中

pod 'ScalingHeaderScrollView'

Carthage

要使用 Carthage 将 ScalingHeaderScrollView 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "Exyte/ScalingHeaderScrollView"

需求

  • iOS 14+
  • Xcode 12+

我们其他开源的 SwiftUI 库

PopupView - 消息和弹出视图库
Grid - 最强大的网格容器
AnimatedTabBar - 具有预设动画的标签栏
MediaPicker - 可定制的媒体选择器
Chat - 可全定制消息单元格、输入视图和内置媒体选择器的聊天 UI 框架
ConcentricOnboarding - 动画引导流程
FloatingButton - 浮动按钮菜单
ActivityIndicatorView - 多种动画加载指示器
ProgressIndicatorView - 多种动画进度指示器
SVGView - SVG 解析器
LiquidSwipe - 液体导航动画