目录
目录README.md

ZPopupPresenter

Easily to present different popups from any subview over fullscreen on SwiftUI.

Features

  • present different popups of different classes without pre-declaration
  • possible to start presenting from any subview or part of code
  • present over full screen (or part of screen you really need)
  • present several popups
  • no need a flag or constants
  • supports animations

Installing

Swift Package Manager:

https://github.com/Jnis/ZPopupPresenter.git

Usage

  1. Make a shared PresenterModel (ex. by using environment property)
  2. Place ZPopupPresenterView on last position of ZStack into your root view
import ZPopupPresenter

struct ContentView: View {
    let zPopupPresenterModel = ZPopupPresenterModel() // 1.1. shared model
    
    var body: some View {
        ZStack {
            MyView() 
                .environmentObject(zPopupPresenterModel) // 1.2. inject model for subviews
            
            ZPopupPresenterView(model: zPopupPresenterModel) // 2. popups place
        }
    }
}
  1. call showPopup method of shared model and wrap your view with AnyView( ... )
  2. call close closure to remove popup
    struct MyView: View {
     @EnvironmentObject var zPopupPresenterModel: ZPopupPresenterModel // shared model
     
     var body: some View {
         VStack {
             Button("Show Popup", action: {
             
                 zPopupPresenterModel.showPopup({ close in // 3.
                     AnyView(
                         DemoPopup1View(closeBlock: close) // 4.
                     )
                 })
                 
             })
         }
     }
    }

You can find more examples inside /Examples folder.

License

MIT

关于
1.2 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号