GithubHelp home page GithubHelp logo

funct7 / krwalkthrough Goto Github PK

View Code? Open in Web Editor NEW
15.0 15.0 6.0 84 KB

Easily show tutorial anywhere in your project with the minimal amount of code to obstruct the regular app flow.

License: MIT License

Swift 64.20% Ruby 5.57% Objective-C 2.57% Shell 27.66%

krwalkthrough's People

Contributors

funct7 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

krwalkthrough's Issues

Example is broken on iPhone X

The problem is you setup all the tutorial frames in viewDidLoad: when the views' frames are still invalid.
And you should replace your hardcoded frames because iPhone X has different statusbar height+navigationbar height (sum) value with something like the following:
CGRect r = [self.navigationItem.rightBarButtonItem.customView convertRect:self.navigationItem.rightBarButtonItem.customView.frame toView:tView];
it works for custom bar button but shouldn't be called for example in viewDidAppear:

Need public init() in TutorialItem

Could you add this method and init inner variables with something to allow other programmers to subclass it without changing the inner code?

Can't properly customize control because of many private variables

Wanted to customize hitTest - 'focus' is inaccessible due to 'private' protection level
Tried to fix focus modifier to public - Property must be declared private because its type uses a private type
and etc.

This project contains errors (I can't describe now it but it linked with constraints + mask area) but I can't even try to fix them by subclassing because all the necessary variables are declared as private.
So if you don't provide proper delegate methods - could you at least remove all the private marks? It is enough fast solution

Feature request: non-linear walkthrough?

The problem is I can load/unload TutorialManager items one by one item or unload all.

What if I want to have for example groups of linear walkthroughs and each group is linked with particular screen? There are no such groups provided so I should not simply create these groups manually - I should also perform some memory management because they could be started/finished separately. And for example In my case I should remember the current item for each group and if this group was already finished

Feature request: show/hide highlighting

For example I have an activity indicator which overlaps a control and I want to hide it until some moment.

For example what about to add a public Bool variable which allows to show/hide highlighting?

Feature request: custom path for mask?

For example in my case mask is defined with image. It is possible to apply it to CAShapeLayer but again it is hidden even from TutorialViews subclasses

TutorialItem::Indentifier param of init method should be optional

What if I don't need to declare identifier at once in init method?

For example I need to create an array of items first and only then I want to assign identifiers because I could do it in for loop without hardcoding each next event handler.

And finally of course you made identifier readonly a constant to prevent its future changes. WHY?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.