ScalingHeaderScrollView:可伸缩粘性头部的滚动视图





项目名称:ScalingHeaderScrollView

ScalingHeaderScrollView 是一个 SwiftUI 库,它提供了一个具有粘性头部的滚动视图,该头部视图在用户滚动时能够缩小。以下是该项目的主要特点和使用方法:

使用方法

  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 用于内容视图

可选修饰符

  • .collapseProgress(_ progress: Binding<CGFloat>):传递当前折叠进度值到进度绑定,0 表示完全没有折叠,1 表示完全折叠。

  • .scrollViewDidReachBottom(perform: @escaping () -> Void):设置滚动视图到达底部时的回调。

  • .pullToRefresh(isLoading: Binding<Bool>, perform: @escaping () -> Void):设置下拉刷新动作的回调和 isLoading 状态。

  • .pullToLoadMore(isLoading: Binding<Bool>, perform: @escaping () -> Void):设置上拉加载更多的回调和 isLoading 状态。

  • .scrollToTop(resetScroll: Binding<Bool>):允许内容滚动重置。

  • .snapHeaderToState(state: Binding<SnapHeaderState?>, animated: Bool):允许改变当前头部高度。

  • .height(min: CGFloat = 150.0, max: CGFloat = 350.0):改变头部的最小和最大高度。

  • .allowsHeaderCollapse():允许头部折叠。

  • .allowsHeaderGrowth():允许头部增长。

  • .setHeaderSnapMode(...):设置头部快照模式。

  • .headerSnappingPositions(snapPositions: [CGFloat]):设置头部快照位置。

  • .initialSnapPosition(initialSnapPosition: CGFloat):设置初始快照位置。

  • .hideScrollIndicators():隐藏滚动指示器。

示例

要尝试 ScalingHeaderScrollView 的示例:

  • 克隆仓库 https://github.com/exyte/ScalingHeaderScrollView.git

  • 打开终端并运行 cd <ScalingHeaderScrollViewRepo>/Example/

  • 运行 pod install 安装所有依赖项

  • 运行并打开 Example.xcworkspace/ 在 Xcode 中打开项目

  • 尝试它!

安装

  • 通过 Swift Package Manager、CocoaPods 和 Carthage 集成 ScalingHeaderScrollView

系统要求

  • iOS 14+ / Xcode 12+

其他开源 SwiftUI 库

Exyte 还提供了其他多个开源 SwiftUI 库,如 PopupView、Grid、AnimatedTabBar 等。

或许喜欢

ScrollViewReactiveHeader:带滚动动画的自定义滚动视图头

ScrollViewReactiveHeader 是一个 SwiftUI 库,提供了一个具有微妙滚动动画的自定义滚动视图头部,增强用户体验。

最近更新 2024-12-11

PinnedScrollView:固定视图滚动库

PinnedScrollView是一个轻量级的SwiftUI库,用于在滚动视图中固定视图,如头部视图,无需使用LazyVStack和Section,支持iOS/iPadOS 14.0及以上版本。

最近更新 2024-12-15

walletui:SwiftUI 3.0制作的自定义动画钱包应用UI

walletui 是一个开源的 SwiftUI 项目,展示了一个具有自定义动画和延迟动画的钱包应用UI,专为 iOS 15 设计。

最近更新 2024-12-09

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1