iPages

0.0.13

Quickly implement swipable page views.
benjaminsage/iPages

What's New

Removed Extraneous Dependencies

2021-02-14T09:47:48Z

iPages๐Ÿ“–

Quickly implement swipable page views in iOS. ๐Ÿ“

Get Started | Examples | Customize | Install |

CI


Get Started

  1. Install iPages

  2. Add iPages to your project

import SwiftUI
import iPages

struct ContentView: View {
    var body: some View {
        iPages {
            Text("iPages ๐Ÿค‘")
            Color.pink
        }
    }
}
  1. Customize your iPages

Examples

Marketing Materials ๐Ÿ’ธ

Use iGraphicsView to demo marketing slides.

import SwiftUI
import iPages
import iGraphics

struct ContentView: View {
    var body: some View {
        iPages {
            iGraphicsView(.first)
            iGraphicsView(.second)
            iGraphicsView(.third)
        }
    }
}


Shopping App ๐Ÿ›

If you want, you can pass in your own optional selection binding to iPages. Hide the bottom dots & add infinite scroll to remove context.

import SwiftUI
import iPages
import iGraphics

struct ContentView: View {
    @State var currentPage: Int = 0

    var body: some View {
        iPages(selection: $currentPage) {
            iGraphicsBox(.photo)
                .stack(3)
            iGraphicsBox(.card)
                .stack(2)
        }
        .hideDots(true)
        .wraps(true)
    }
}



Customize ๐ŸŽ€

iPages takes a trailing view builder of ordered views. You can also optionally pass in your own page index binding called selection:, to let you build your own page control, or however you want to use it. iPages supports a variety of custom modifiers. All customizations are built into our modifiers.

Example: Change the dot colors, enable infinite wrap & hide dots for single page views with the following code block:

iPages(selection: $currentPage) {
    Text("๐Ÿ‘")
}
.dotsTintColors(currentPage: Color, otherPages: Color)
.wraps(true)
.dotsHideForSinglePage(true)
.navigationOrientation(.vertical)

Use our exhaustive input list to customize your views.

Modifier or Initializer Description
๐Ÿ‘ทโ€โ™€๏ธ .init(content:) Initializes the page ๐Ÿ“ƒ๐Ÿ“– view.
๐Ÿ‘ทโ€โ™‚๏ธ .init(selection:content:) Initializes the page ๐Ÿ“ƒ๐Ÿ“– view with a selection binding.
โบ .hideDots(_:) Modifies whether or not the page view should include the standard page control dots. (โ€ขโ€ขโ€ขโ€ข)
๐Ÿ”„ .wraps(_:) Modifies whether or not the page view should restart at the beginning ๐Ÿ” when swiping past the end (and vise-versa)
1๏ธโƒฃ .dotsHideForSinglePage(_:) Modifies whether the page dots are hidden when there is only one page. 1๏ธโƒฃโคต๏ธ
๐ŸŽจ .dotsTintColors(currentPage:otherPages:) Modifies tint colors ๐ŸŸก๐ŸŸข๐Ÿ”ด๐ŸŸฃ to be used for the page dots.
๐Ÿ”˜ .dotsBackgroundStyle(_:) Modifies the background style โšช๏ธ๐Ÿ”˜ of the page dots.
๐Ÿ”ƒ .dotsAllowContinuousInteraction(_:) Modifies the continuous interaction settings of the dots. ๐Ÿ”„
โ†”๏ธ .dotsAlignment(_:) Modifies the alignment of the page dots. ๐Ÿ‘† ๐Ÿ‘‡
โ†•๏ธ .navigationOrientation(_:) Modifies the navigation orientation of the page view. โ†”๏ธ โ†•๏ธ
๐Ÿฆฟ .disableBounce(_:) Disables the bounce settings of the page view. This is especially useful for scroll views.
โ†”๏ธ .interPageSpacing(_:) Modifies the spacing between the pages. โ†”๏ธ
๐ŸŽฅ .animated(_:) Modifies whether the the pages animate the slide if the selection binding changes. ๐ŸŽฅ

Install

Use the Swift package manager to install. Find instructions here๐Ÿ˜€

Help

As always, if you have any questions about iPages, we are available 24/7 to help.

Reach us at
๐Ÿ“ž +1 (415) 735-4464 Call
๐Ÿ“ง hello@iswiftui.com Email
๐Ÿ“ฒ +1 (415) 735-4464 Text

Description

  • Swift Tools
View More Packages from this Author

Dependencies

  • None
Last updated: Fri Nov 18 2022 06:50:04 GMT-0500 (GMT-05:00)