Skip to content

ziligy/swiftUI-slide-over-card

 
 

Repository files navigation

GitHub release (latest by date)

Slide Over Card for SwiftUI

sample sample

Installation with Swift Package Manager

Swift Package Manager is integrated within Xcode 11:

  1. File → Swift Packages → Add Package Dependency...
  2. Paste the repository URL: https://github.com/moifort/swiftUI-slide-over-card.git

Set Slide position

By default the slide is in .middle position. If you want to change it, set like:

SlideOverCard(.bottom) { // or .middle, .top
    VStack {
        Text("Slide Over Card").font(.title)
        Spacer()
    }
}

Set Background Style

By default background is 'solid'. If you want to change it for blur or clear, set like:

SlideOverCard(backgroundStyle: .blur) { // or .clear or .solid
    VStack {
        Text("Slide Over Card").font(.title)
        Spacer()
    }
}

Usage

import SwiftUI
import MapKit
import SlideOverCard // Add import

struct ContentView : View {
    var body: some View {
        ZStack(alignment: Alignment.top) {
            MapView()
            // Set your card
            SlideOverCard {
                VStack {
                    Text("Slide Over Card").font(.title)
                    Spacer()
                }
            }
        }
        .edgesIgnoringSafeArea(.vertical)
    }
}

struct MapView : UIViewRepresentable {
    
    func makeUIView(context: Context) -> MKMapView {
        MKMapView(frame: .zero)
    }
    
    func updateUIView(_ view: MKMapView, context: Context) {
        let coordinate = CLLocationCoordinate2D(latitude: -33.523065, longitude: 151.394551)
        let span = MKCoordinateSpan(latitudeDelta: 0.2, longitudeDelta: 0.2)
        let region = MKCoordinateRegion(center: coordinate, span: span)
        view.setRegion(region, animated: true)
    }
}

Thanks

About

Slide over modal/card for SwiftUI

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 100.0%