A customized ScrollView can add item transition when scrolling.
Support iOS 14+, macOS 11+
![demo](https://private-user-images.githubusercontent.com/33001057/293853663-859733b1-944e-46f7-bfd0-4b471c01c0f4.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk4OTQxMzYsIm5iZiI6MTczOTg5MzgzNiwicGF0aCI6Ii8zMzAwMTA1Ny8yOTM4NTM2NjMtODU5NzMzYjEtOTQ0ZS00NmY3LWJmZDAtNGI0NzFjMDFjMGY0LmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE4VDE1NTAzNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJhNDk3ZGZlMGI1YWUyNGMwOGY3ZTA2ZGQ1MGFjZGFhMzdhMjBjMjcwODQ3YzVkNTA5NzQyMTg1YzNhYzQ5ODkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.LUWNpERDqx7iOKmfG2xAWWXQ0On_1JYPJR737KZNcTM)
.package(url: "https://github.com/lewislee922/AnimatedScrollView.git", from: "1.0.6")
Then import AnimatedScrollView
in any Swift file in your module.
struct YourView: View {
private let hashableArray = (0..<100).map { index in
"\(index)"
}
var body: some View {
AnimatedScrollView(items: hashableArray) { item, transitionState in
Text(item)
.font(.title)
.opacity(1-transitionState)
.scaleEffect(1-transitionState)
}
}
}