All Projects → CleanCocoa → AppGuideOverlay

CleanCocoa / AppGuideOverlay

Licence: MIT license
macOS user interface guide to display an overlay with descriptions of NSViews in your app

Programming Languages

swift
15916 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to AppGuideOverlay

Swiftyoverlay
Show overlay and info on app components
Stars: ✭ 63 (+270.59%)
Mutual labels:  guide, overlay
KJOverlayTutorial
A Tutorial for iOS
Stars: ✭ 99 (+482.35%)
Mutual labels:  overlay
cas-overlay-template
Apereo CAS WAR Overlay template
Stars: ✭ 1,057 (+6117.65%)
Mutual labels:  overlay
framestack
Tools, Frameworks & Libraries to help you build your projects ✨
Stars: ✭ 27 (+58.82%)
Mutual labels:  guide
baidumap
Some examples of Baidu Map API
Stars: ✭ 20 (+17.65%)
Mutual labels:  overlay
lispmob
LISP and LISP-MN Implementation
Stars: ✭ 44 (+158.82%)
Mutual labels:  overlay
league-of-legends
external cheat for league of legends
Stars: ✭ 26 (+52.94%)
Mutual labels:  overlay
elixir getting started guide to go
Elixir Getting Started Guide (EPUB format)
Stars: ✭ 19 (+11.76%)
Mutual labels:  guide
Clover-Crate
Clover Bootloader (with Quirks) and Clover Configurator explained. My attempt of creating a usable documentation for the popular boot manager.
Stars: ✭ 61 (+258.82%)
Mutual labels:  guide
ExSharp-Base
External League of Legends Base
Stars: ✭ 128 (+652.94%)
Mutual labels:  overlay
Intranet-Lets-Encrypt-Certification
Guide to setting up a Let's Encrypt SSL certificate for a non-public facing server.
Stars: ✭ 27 (+58.82%)
Mutual labels:  guide
hacking-datascience
Notebooks and design assets related to my publication 'hacking-datascience' on Medium.
Stars: ✭ 41 (+141.18%)
Mutual labels:  guide
GuideChimp
Create interactive guided product tours in minutes with the most non-technical friendly, lightweight and extendable library.
Stars: ✭ 138 (+711.76%)
Mutual labels:  guide
Boundary
Boundary is a CSS+Javascript library for Chrome extension developers to easily create HTML elements that won’t affect or be affected by the current webpage’s CSS. Strongly recommended if you are considering adding a sticker, a sidebar or any overlay box using content script.
Stars: ✭ 59 (+247.06%)
Mutual labels:  overlay
deadbeef-overlay
DeaDBeeF player overlay for Gentoo Linux
Stars: ✭ 13 (-23.53%)
Mutual labels:  overlay
wiki
从diy行为艺术到diy苏格拉底式对话,从diy一个仪式到diy一次旷课,各种活动指南的百科。diy💔是706孵化的一个非代码开源项目。
Stars: ✭ 49 (+188.24%)
Mutual labels:  guide
games-overlay
gentoo overlay containing games ebuilds only
Stars: ✭ 15 (-11.76%)
Mutual labels:  overlay
A-Personal-Arch-Installation-Guide
A Personal Arch Installation Guide In Case of Amnesia
Stars: ✭ 58 (+241.18%)
Mutual labels:  guide
development-guide
A set of guidelines and best practices for an awesome engineering team
Stars: ✭ 119 (+600%)
Mutual labels:  guide
frontendpath
A correct path to front-end development.
Stars: ✭ 60 (+252.94%)
Mutual labels:  guide

AppGuideOverlay

Swift 5.0 Version License Platform Carthage compatible

macOS user interface guide to display an overlay with descriptions of NSViews in your app.

Usage

Example

Have a look at the example app that is part of this repository. The basic setup looks like this:

// Given access to interesting view components ...
let window: NSWindow = ...
let textField: NSTextField = ...
let button: NSButton = ...

// ... and an AppGuide with steps attached to them ...
let appGuide = AppGuide(steps: [
    AppGuide.Step(title: "A Text Field",
          detail: "Use this to type something.",
          position: .below,
          cutoutView: textField),
    AppGuide.Step(title: "A Button",
          detail: "Press this to make something happen.",
          position: .right,
          cutoutView: button)
    ])

// ... keep the AppGuideOverlay around and start it:
let appGuideOverlay = AppGuideOverlay(
    appGuide: appGuide,
    appGuideSuperview: window.contentView!)
appGuideOverlay.start()

Types of Interest

  • AppGuide is the model. It contains an array of AppGuide.Steps that represents the steps in your guide.
  • AppGuideOverlay is a convenient service object to set up the app guide and control it. (You don't have to use it and can use AppGuidePresenter and a HandlesOverlayEvents conforming delegate. But AppGuideOverlay really is the most useful façade to get started.)
  • AppGuideOverlayDelegate is used to react to progress and completion events.

Features

  • Uses Auto Layout to position the AppGuide.Step contents next to the view the steps explain. This ensures the window size fits the labels at all times. It also ensures the step's description is displayed correctly when the window is resized.
  • Tasteful pulsation of the cutout frame's size in the overlay. This also indicates that the app doesn't just hang.
  • Good citizen: No custom NSRunLoop or anything. It's just a view on top of other views that captures the first responder status and doesn't give it back to underlying controls. This means you can remote-control your user interface to change display content and animate as usual while the overlay is visible.

Code License

Copyright (c) 2018-2019 Christian Tietze. Distributed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].