Skip to content

This library simplifies the implementation of carousel-style interfaces in SwiftUI applications while maintaining smooth, infinite scrolling functionality.

License

Notifications You must be signed in to change notification settings

AnbalaganD/CarouselView

Repository files navigation

This library simplifies the implementation of carousel-style interfaces in SwiftUI applications while maintaining smooth, infinite scrolling functionality.

CarouselView

Features

♾️ Infinite scrolling support

🎯 Selected item tracking

📏 Configurable item spacing

📍 Current index monitoring

⚡️ Native SwiftUI implementation

Swift Package manager (SPM)

CarouselView is available through SPM. Use below URL to add as a dependency

dependencies: [
    .package(url: "https://github.com/AnbalaganD/CarouselView", .upToNextMajor(from: "1.0.0"))
]

Usage

import CarouselView

struct ContentView: View {
    private let items: [String] = ["One", "Two", "Three", "Four", "Five"]
    @State private var selectedIndex: Int = 2
    
    var body: some View {
        CarouselView(
            items,
            spacing: 10.0,
            selectedIndex: $selectedIndex
        ) { item in
            Text(item)
                .frame(maxWidth: .infinity)
                .frame(height: 200)
                .background(Color.gray)
                .clipShape(RoundedRectangle(cornerSize: .init(width: 5, height: 5)))
        }
    }
}

Author

Anbalagan D

License

CarouselView is available under the MIT license. See the LICENSE file for more info.

About

This library simplifies the implementation of carousel-style interfaces in SwiftUI applications while maintaining smooth, infinite scrolling functionality.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages