PinnedScrollView:固定视图滚动库





标题

项目名称:PinnedScrollView

项目简介

PinnedScrollView是一个SwiftUI库,它允许开发者在滚动视图中固定任何视图,例如头部视图。这个库的实现避免了使用LazyVStackSection,使得代码更加简洁。

功能特点

  • 简单易用:通过.pinned()修饰符固定视图,.pinnedScrollView()修饰符应用于对应的滚动视图。

  • 可选观察:提供onReachedTop闭包,用于在固定状态改变时接收通知。

  • 性能优化:使用onChange高效记录头部视图的框架,并通过Combine的debounce和发布者减少头部视图主体的重新评估次数。

使用方法

以下是如何在项目中使用PinnedScrollView的示例代码:

var body: some View {
    ScrollView {
        VStack(spacing: 0) {
            ForEach(0..<20) { _ in
                Text("Header")
                    .pinned() // 1
                
                Text("Some content text")
            }
        }
    }
    .pinnedScrollView() // 2
}
  1. .pinned()修饰符添加到你希望在滚动视图中固定的视图。

  2. .pinnedScrollView()修饰符添加到对应的滚动视图。

可选观察

@State private var isHeaderReachedTop = false

// ...
Text("Header" + (isHeaderReachedTop ? " Reached" : ""))
    .pinned { isReachedTop in
        isHeaderReachedTop = isReachedTop
    }

限制

  • PinnedScrollView需要iOS/iPadOS 14.0及以上版本。

  • 仅支持垂直ScrollView,不支持水平ScrollViewList视图。

安装方法

使用Swift Package Manager将PinnedScrollView添加到你的项目中:

https://github.com/Lumisilk/PinnedScrollView.git

 

或许喜欢

Swifticon:从SwiftUI代码生成应用图标的工具

Swifticon是一个开源工具,允许开发者使用SwiftUI代码创建和生成应用图标,支持iOS、iPadOS和watchOS平台。

最近更新 2024-12-09

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

ScalingHeaderScrollView 是一个用 SwiftUI 编写的滚动视图库,其头部视图在滚动时可伸缩变化,提供丰富的自定义选项和动画效果。

最近更新 2024-12-11

AnimationStack:SwiftUI视图堆叠动画库

AnimationStack是一个SwiftUI库,允许在视图堆叠中创建动画效果,支持自定义动画和ForEach循环动画,适用于iOS和macOS应用。

最近更新 2024-12-10

热榜

Made with in Shangrao,China By 老雷

Copyright © devler.cn 1987 - Present

赣ICP备19009883号-1