totocaster / typist Goto Github PK
View Code? Open in Web Editor NEWSwift UIKit keyboard manager for iOS apps.
License: MIT License
Swift UIKit keyboard manager for iOS apps.
License: MIT License
Add toolbar support similar to RxKeyboard with interactive panning support. I can make a PR.
Same issue as #35, the problem is that SPM reads Github releases and cannot find 1.4.3.
Just add 1.4.3 release to fix it.
It works here: https://github.com/tymofiidolenko/Typist/releases/tag/1.4.3
I have XCode 12.5
Hey, your library is really interesting.
The only problem I found was the README.md
, which lacks an Installation Section
I created this iOS Open source Readme Template so you can take a look on how to easily create an Installation Section
If you want, I can help you to organize the lib.
What are your thoughts? ๐
Can we get a tagged Swift 4.2 release for this?
I'm trying to setup a UIView
animation to match the keyboard animation, including the animation curve. .animationCurve
is available from Typist.KeyboardOptions
, but I'm getting a type error. Any way around this?
UIView.animate(withDuration: options.animationDuration, delay: 0, options: options.animationCurve, animations: {
self.view.layoutIfNeeded()
}, completion: nil)
Cannot convert value of type 'UIViewAnimationCurve' to expected argument type 'UIViewAnimationOptions'
I run the demo and find:
Thread 1: Fatal error: unexpected enum case 'UIViewAnimationCurve(rawValue: 7)'
Swift 4.2 Xcode10
panGesture
and scrollView
properties are marked as private
instead of fileprivate
I'm aware of the current limitations of using a singleton instance and start/stop methods to setup and remove listeners.
I'm opening this issue to start conversation about how to best address this limitation so that multiple typist instances can be setup at the same time for example from a full screen view controller on the iPad and another modally present page view controller that is occupying just part of the screen (page modal view controller)
Quickly thinking out loud I think it should be possible instead of using a singleton just instantiate and start typist in viewDidLoad and stop it in deinit...
Any thoughts on this?
Thanks
Martin
Since callbacks
only stores one closure of each event type, multiple controllers that use Typist.shared
will "fight" over who receives notifications.
class ControllerOne: UIViewController {
override func viewDidLoad() {
Typist.shared.on(event: .willShow) { _ in print("will show from one") }
}
}
class ControllerTwo: UIViewController {
override func viewDidLoad() {
Typist.shared.on(event: .willShow) { _ in print("will show from two") }
}
}
If both of these controllers are loaded, only the second controller will get the notifications.
Easy fix: remove the singleton, and have each controller retain its own Typist
instance.
Thank you for the library! It's really swifty way to do this.
Could you please add support for SPM in Xcode 11? Currently Xcode gives the error 'has no Package.swift manifest for version 1.4.2' when adding the package to the Xcode project.
I'm using with Carthage.
I'd be cool to also add Cocoapods support. I done this implementation myself last week for my library. Just follow this post and this checklist.
Seems like lot of constants have changed,
'UIApplicationDidBecomeActive' has been renamed to 'UIApplication.didBecomeActiveNotification'
'kCAFillModeBoth' has been renamed to 'CAMediaTimingFillMode.both'
'UIApplicationDidBecomeActive' has been renamed to 'UIApplication.didBecomeActiveNotification'
and a few more
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.