Nav apraksta

Autumn 8a32251358 add viewModel; add parameter "Index: Binding<Int>" 5 gadi atpakaļ
.swiftpm 814a82b61b Initial Commit 5 gadi atpakaļ
ACarouselDemo 8a32251358 add viewModel; add parameter "Index: Binding<Int>" 5 gadi atpakaļ
Resource 2d1f0ee09c commit tag 0.1.2 and add readme 5 gadi atpakaļ
Sources 8a32251358 add viewModel; add parameter "Index: Binding<Int>" 5 gadi atpakaļ
.gitignore 814a82b61b Initial Commit 5 gadi atpakaļ
LICENSE cc6c1eaacd Initial commit 5 gadi atpakaļ
Package.swift 814a82b61b Initial Commit 5 gadi atpakaļ
README.md 8a32251358 add viewModel; add parameter "Index: Binding<Int>" 5 gadi atpakaļ
README.zh-CN.md 8a32251358 add viewModel; add parameter "Index: Binding<Int>" 5 gadi atpakaļ

README.md

ACarousel

A carousel view for SwiftUI

中文文档

   

Table of Contents

Requirements

  • iOS 13.0+ / macOS 10.15+ / tvOS 13.0+
  • Xcode 11.0+
  • Swift 5.1+

Install

Swift Package Manager

Open Xcode, go to File -> Swift Packages -> Add Package Dependency and enter https://github.com/JWAutumn/ACarousel

You can also add ACarousel as a dependency to your Package.swift:

dependencies: [
  .package(url: "https://github.com/JWAutumn/ACarousel", from: "0.2.0")
]

Manually

Download and open the project, drag the ACarousel.swift file into your own project.

Usage

  • Basic use: The parameters of ACarousel have default values, so you can simply pass in the data source and eat it ~

    struct Item: Identifiable {
    let id = UUID()
    let image: Image
    }
    
    let roles = ["Luffy", "Zoro", "Sanji", "Nami", "Usopp", "Chopper", "Robin", "Franky", "Brook"]
    
    struct ContentView: View {
        
    let items: [Item] = roles.map { Item(image: Image($0)) }
        
    var body: some View {
        ACarousel(items) { item in
            item.image
                .resizable()
                .scaledToFill()
                .frame(height: 300)
                .cornerRadius(30)
        }
        .frame(height: 300)
    }
    }
    

or:

...
var body: some View {
    ACarousel(roles, id: \.self) { name in
        Image(name)
            .resizable()
            .scaledToFill()
            .frame(height: 300)
            .cornerRadius(30)
    }
    .frame(height: 300)
}
...
  • Customize configuration: You can configure the corresponding parameters to customize the display style according to your needs.

    /// ...
    
    struct ContentView: View {
        
    let items: [Item] = roles.map { Item(image: Image($0)) }
        
    var body: some View {
        ACarousel(items,
                  spacing: 10,
                  headspace: 10,
                  sidesScaling: 0.7,
                  isWrap: true,
                  autoScroll: .active(2)) { item in
            item.image
                .resizable()
                .scaledToFill()
                .frame(height: 300)
                .cornerRadius(30)
        }
        .frame(height: 300)
    }
    }
    

Example

Download and open ACarouselDemo -> ACarouselDemo.xcodeproj, run and view.

Maintainers

@JWAutumn.

Contributing

Feel free to dive in! Open an issue or submit PRs.

License

MIT © JWAutumn