Show overlay and info on app components

Overview

SwiftyOverlay

App Intro / Instruction component to show data over app UI at run time!
Easy to use, Animated and Customizable.

Supported Components are : UITabbarItem, TableView, TabbarView, all UIView controls and components!

For demo project check this repo

2 1

Requirements

  • Xcode 9+
  • Swift 4+
  • iOS 9+

Installation

Swift Package Manager

.package(url: "https://github.com/saeid/SwiftyOverlay.git", from: "1.1.14")

Cocoapods

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
pod 'SwiftyOverlay'
end
pod update 
pod install

Usage

Inherit SkipOverlayDelegate

class ViewController: UIViewController, SkipOverlayDelegate

Create an instance of GDOverlay

var overlay: GDOverlay = GDOverlay()

Set delegate

overlay.delegate = self

Set properties

overlay.arrowColor = UIColor.red
overlay.arrowWidth = 2.0
overlay.lineType = LineType.line_bubble

...

// Full properties list can be found on sample project

Now call Overlay View Skip function to show!

onSkipSignal()

Override onSkipSignal function

func onSkipSignal(){
    /// Add an attributed string over the screen
    overlay.drawOverlay(desc: NSMutableAttributedString)

    /// TableView
    overlay.drawOverlay(to: self.tableView, section: 0, row: 0, desc: "Description ...")
    
    /// UIBarButtonItem
    overlay.drawOverlay(to: barButtonItem, desc: "Description ...")

    /// Any other views
    overlay.drawOverlay(to: self.someView, desc: "Description ...", isCircle: true)
    
    /// TabBar Items
    overlay.drawOverlay(to: self.tabbarView, item: 0, desc: "Description ...")
    
    /// For StackViews, Eg. first view of stackview
    let targetView = stackView.arrangedSubviews[0]
    o.drawOverlay(to: targetView, desc: "Description ...", isCircle: true)
}

Licence

SwiftyHelpOverlay is available under the MIT license. See the LICENSE.txt file for more info.

You might also like...
An animated popover that pops out a given frame, great for subtle UI tips and onboarding.
An animated popover that pops out a given frame, great for subtle UI tips and onboarding.

Animated popover that pops out of a frame. You can specify the direction of the popover and the arrow that points to its origin. Color, border radius

A simple and attractive AlertView to onboard your users in your amazing world.
A simple and attractive AlertView to onboard your users in your amazing world.

AlertOnboarding A simple and attractive AlertView to onboard your users in your amazing world. PRESENTATION This AlertOnboarding was inspired by this

CountryList - iOS app to show country info
CountryList - iOS app to show country info

CountryList iOS app to show country info Overview 'CountryList App' fetch and di

🚄ℹ️ Show current train info (speed, next station, arrival time) in macOS status bar
🚄ℹ️ Show current train info (speed, next station, arrival time) in macOS status bar

TrainStatusInfo This macOS application shows the current train status info in the status bar when connected to the trains hotspot. It uses the "intern

Matrix-rust-components-swift - Swift package providing components from the matrix-rust-sdk

Swift package for Matrix Rust components This repository is a Swift Package for

Basic components for setting up UIKit components programmatically.
Basic components for setting up UIKit components programmatically.

UIKit Components Package This repository contains basic components for setting up UIKit components programmatically. It is made by SPACE SQUAD! We mak

Customizable Console UI overlay with debug log on top of your iOS App
Customizable Console UI overlay with debug log on top of your iOS App

AEConsole Customizable Console UI overlay with debug log on top of your iOS App AEConsole is built on top of AELog, so you should probably see that fi

Customizable Console UI overlay with debug log on top of your iOS App
Customizable Console UI overlay with debug log on top of your iOS App

AEConsole Customizable Console UI overlay with debug log on top of your iOS App AEConsole is built on top of AELog, so you should probably see that fi

ScrollView that supports a parallax header image and static overlay.

ScrollViewReactiveHeader A replacement ScrollView that provides a header with subtle scroll animations. example-video.mov Using ScrollViewReactiveHead

🗣Voice overlay helps you turn your user's voice into text, providing a polished UX while handling for you the necessary permissions
🗣Voice overlay helps you turn your user's voice into text, providing a polished UX while handling for you the necessary permissions

Voice overlay helps you turn your user's voice into text, providing a polished UX while handling for you the necessary permissions. It uses i

Non-intrusive iOS UI library to implement overlay based interfaces
Non-intrusive iOS UI library to implement overlay based interfaces

OverlayContainer is a UI library written in Swift. It makes easier to develop overlay based interfaces, such as the one presented in the Apple Maps, S

Overlay alpha channel video animation player view using Metal.
Overlay alpha channel video animation player view using Metal.

Overlay alpha channel video animation player view using Metal. Example To run the example project, clone the repo, and run pod install from the Exampl

An alternative to SwiftUI's VideoPlayer that includes an overlay button that will transition the player to be presented full screen.

The VideoPlayer provided by SwiftUI out of the box is great but it's missing one very important feature: full screen presentation mode. AZVideoPlayer behaves pretty much exactly like VideoPlayer, but adds the button that's provided by AVPlayerViewController to go full screen.

In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.
In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

The debugger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app. Easy accessible with its bubble head button 🔘 . Easy to integrate in any apps, to handle development or testing apps easier. First version, there is plenty of room for improvement.

Dice roller, character sheet/ creator, and monster/item info app on the iphone12

DnD-LordDogMaw This file will be the start of a side project in the hopes of creating an iphone12 app for Dungeons and Dragons! This app will have 3 m

Dotzu  In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.
Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More. The debugger tool for iOS developer. Display logs, n

A tiny SwiftUI app that displays Albums of Kanye West and a brief info about the artist.

West Day Ever It's a small SwiftUI app, that displays Albums of Kanye West and a brief info about the artist. Technical notes Low level packages that

A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.
A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.

Runtime is a Swift library to give you more runtime abilities, including getting type metadata, setting properties via reflection, and type constructi

Comments
  • Autolayout error when drawOverlay on UIView

    Autolayout error when drawOverlay on UIView

    How can I fix the following auto layout error?

    2021-02-24 21:12:44.963119+0100 App-iOS[2690:546041] [LayoutConstraints] Unable to simultaneously satisfy constraints.
    	Probably at least one of the constraints in the following list is one you don't want. 
    	Try this: 
    		(1) look at each constraint and try to figure out which you don't expect; 
    		(2) find the code that added the unwanted constraint or constraints and fix it. 
    	(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
    (
        "<NSAutoresizingMaskLayoutConstraint:0x283d60dc0 h=--& v=--& SwiftyOverlay.GDOverlay:0x10bf14c40.minX == 0   (active, names: '|':UIWindow:0x10bf06ba0 )>",
        "<NSAutoresizingMaskLayoutConstraint:0x283d60e60 h=--& v=--& SwiftyOverlay.GDOverlay:0x10bf14c40.width == 0   (active)>",
        "<NSAutoresizingMaskLayoutConstraint:0x283d602d0 h=--- v=--- UIWindow:0x10bf06ba0.width == 375   (active)>",
        "<NSLayoutConstraint:0x283d6c910 UIView:0x10f114290.right == SwiftyOverlay.GDOverlay:0x10bf14c40.right - 16   (active)>",
        "<NSLayoutConstraint:0x283d6c870 UIView:0x10f114290.centerX == UIWindow:0x10bf06ba0.centerX   (active)>",
        "<NSLayoutConstraint:0x283d6c960 UIView:0x10f114290.left == SwiftyOverlay.GDOverlay:0x10bf14c40.left + 16   (active)>"
    )
    
    Will attempt to recover by breaking constraint 
    <NSLayoutConstraint:0x283d6c910 UIView:0x10f114290.right == SwiftyOverlay.GDOverlay:0x10bf14c40.right - 16   (active)>
    
    Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
    The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
    
    opened by JMCPH 1
  • Constraints warnings for programmatically established views.

    Constraints warnings for programmatically established views.

    Hi, I really liked this library. However, if I am using overlays on programmatically established views (constrained via code) I don't see any overlay and I get several UI warnings instead. Can you help ?

    opened by RizulSharma 3
  • Naming convention/Auto Dismissal

    Naming convention/Auto Dismissal

    I really liked this library and thanks for this repo.

    • Is there a specific reason why the pod is called SwiftyOverlay, and view is called GDOverlay while the delegate is called SkipOverlayDelegate (probably instead of the delegate may be a completion handler will simplify the process further)

    • Also there is no auto dismissal for the overlay view

      I would not mind in creating a PR for the name consistency and auto dismissal. Any thoughts?

    opened by pgudivadaDiligent 2
Owner
Saeid
iOS Developer
Saeid
A super-charged version of MYIntroductionView for building custom app introductions and tutorials.

MYBlurIntroductionView #####NOTICE: As of February 4th, Apple has begun to ban new app submissions using the common blurring method (UIToolbar hack) f

Matthew York 1.5k Dec 23, 2022
BWWalkthrough is a simple library that helps you build custom walkthroughs for your iOS App

What is BWWalkthrough? BWWalkthrough (BWWT) is a class that helps you create Walkthroughs for your iOS Apps. It differs from other similar classes in

Yari @bitwaker 2.8k Jan 4, 2023
OnboardKit - Customizable user onboarding for your UIKit app in Swift

OnboardKit Customizable user onboarding for your UIKit app in Swift Requirements Swift 5.0 Xcode 10 iOS 11.0+ Installation Carthage github "NikolaKire

Nikola Kirev 470 Dec 23, 2022
A nice tutorial like the one introduced in the Path 3.X App

ICETutorial Welcome to ICETutorial. This small project is an implementation of the newly tutorial introduced by the Path 3.X app. Very simple and effi

Icepat 798 Jun 30, 2022
A simple keyframe-based animation framework for UIKit. Perfect for scrolling app intros.

Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. J

IFTTT 6.4k Dec 28, 2022
A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros.

RazzleDazzle is a simple AutoLayout-friendly keyframe animation framework for iOS, written in Swift. Perfect for scrolling app intros. RazzleDazzle gr

IFTTT 3.4k Jan 1, 2023
Showcase your awesome new app features 📱

WhatsNewKit enables you to easily showcase your awesome new app features. It's designed from the ground up to be fully customized to your needs. Featu

Sven Tiigi 2.8k Jan 3, 2023
Create walkthroughs and guided tours (coach marks) in a simple way, with Swift.

Add customizable coach marks into your iOS project. Available for both iPhone and iPad. ⚠️ Instructions 2.0.1 brings a couple of breaking changes, ple

Frédéric Maquin 4.9k Jan 3, 2023
An iOS framework to easily create a beautiful and engaging onboarding experience with only a few lines of code.

Onboard Click Here For More Examples Important Onboard is no longer under active development, and as such if you create any issues or submit pull requ

Mike 6.5k Dec 17, 2022
Presentation helps you to make tutorials, release notes and animated pages.

Presentation helps you to make tutorials, release notes and animated pages.

HyperRedink 3k Jan 5, 2023