falnatsheh / Minimap

Minimap for your PKCanvasView!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Minimap

Minimap is light way to represent your canvas to mini map.

Swift 5.1

For base I used PKToolPicker API and Minimap works and looks like PKToolPicker.

Features

  • Floating minimap
  • Customization
  • Dark theme support
  • PKToolPicker API
  • Orienation support

Example

Requirements

Minimap is written in Swift 5.1 and is available on iOS 13.

Usage

For get instance Minimap using Minimap.shared(for: UIWindow)

Example:

if let minimap = Minimap.shared(for: self.view.window) {
    PKToolPicker.shared(for: window)?.addObserver(minimap) // For handling PKToolPicker frame 
    minimap.observeCanvasView(canvasView) // For handling content changing
    minimap.setVisible(!minimap.isVisible, forFirstResponder: canvasView) // Set visible for minimap
    canvasView.becomeFirstResponder()
    
    minimap.tintColor = .green // Set visible zone color
}

Minimap will automaticly hidden if responder will resign.

How it's works?

Minimap subscribe to canvas properties like contentSize, contentOffset and etc. and present new MinimapHostWindow for presenting minimap without adding like subview to your views.

About

Minimap for your PKCanvasView!

License:MIT License


Languages

Language:Swift 100.0%