SwiftUI滚动修饰符
SwiftUI滚动修饰符

SwiftUI滚动修饰符

SwiftUI提供了很多滚动指示器控制修饰符,用于控制 ScrollView 或 List。

常用的滚动修饰符

1、.scrollIndicators(_:):控制滚动条显示与否;

2、.showsIndicators(_:):旧版本(iOS 16 以前)的 ScrollView 用法,布尔值控制是否显示滚动条;

3、.scrollDisabled(_:):禁止滚动(例如 .scrollDisabled(true))。

ScrollView { ... }.scrollDisabled(true) // 禁止滚动

4、.scrollTargetBehavior(_:):控制滚动惯性(如分页、定点对齐等)。

ScrollView(.horizontal) {
    HStack(spacing: 0) {
        ForEach(0..<5) { i in
            Color.blue.opacity(Double(i) * 0.2)
                .frame(width: 300, height: 200)
        }
    }
}
.scrollTargetBehavior(.paging)

改变滚动惯性(分页效果)。

5、.scrollBounceBehavior(_:):控制滚动到边缘时的回弹效果(iOS 17+);

6、.scrollClipDisabled(_:):控制滚动内容是否裁剪在边界内;

7、.scrollPosition(id:):绑定滚动位置,实现“滚动到指定项”效果;

8、.scrollContentBackground(_:):控制 List 的默认背景是否可见(常用于自定义背景);

9、.scrollTransition(_:):定义滚动时的动画或过渡效果(iOS 17+);

10、.scrollTargetLayout():改变滚动容器中元素的布局方式;

11、.scrollBounceBehavior(_:):控制是否允许回弹(iOS 17 新增);

ScrollView {
    ...
}
.scrollBounceBehavior(.basedOnSize) // 或 .always / .never

12、.scrollIndicators(.hidden):隐藏滚动条。

enum Visibility {
    case automatic   // 默认,用户滚动时自动显示
    case visible     // 始终显示
    case hidden      // 永不显示
}
ScrollView(showsIndicators: false) { ... } // iOS 16 前写法
ScrollView { ... }.scrollIndicators(.hidden) // iOS 16+ 推荐
   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注