hectormatos2011 / ioscontextualmenu Goto Github PK
View Code? Open in Web Editor NEWAn easy-to-plug-in Contextual Menu for iOS inspired by Pinterest.
License: MIT License
An easy-to-plug-in Contextual Menu for iOS inspired by Pinterest.
License: MIT License
Hi, im having trouble using this framework when launching from a URL scheme. All the necessary methods get called to setup my array, the delegate methods for returning the label and image all gets called but the menu itself never appears when launching from a URL
I'm using it for collection views cells and it seems that didSelectItemAt of the collection view is not called because the menu gesture recognizers overrides the touches.
So to get the cell indexPath where the menu is shown I have modified:
//ContextualMenu+Extension
- @objc(contextualMenu:didSelectItemAtIndex:)
- optional func contextualMenu(_ menu: ContextualMenu, didSelectItemAt index: Int)
+ @objc(contextualMenu:didSelectItemAtIndex:sourceAtPoint:)
+ optional func contextualMenu(_ menu: ContextualMenu, didSelectItemAt index: Int, sourceAt point: CGPoint)
and
//ContextualMenu / didSelect(menuItemView: ContextualMenuItemView)
// delegate?.contextualMenu?(self, didSelectItemAt: menuItem.index)
delegate?.contextualMenu?(self, didSelectItemAt: menuItem.index, sourceAt: startingLocation)
Using it this way
func contextualMenu(_ menu: ContextualMenu, didSelectItemAt index: Int, sourceAt point: CGPoint) {
let point2 = UIApplication.shared.keyWindow?.convert(point, to: collectionView)
let indexPath = collectionView.indexPathForItem(at: point2)
let cell = collectionView.cellForItem(at: indexPath)
}
Is it acceptable or is there a better way to use it with collectionViews?
In layoutMenuItemsIfNeeded
the titleView is set to a custom view if the delegate responds to the custom view method. Right after that though, there is an if-condition that overrides the titleView
in any case, either with the regular case or with an invisible Item (line 719), or am I wrong here.
My users are having issues with the menu freezing when force touch is (accidently) triggered. I dont have a force touch capable device to tinker with, so all i can do is inform future readers.
@hectormatos2011 tagging you in case you still aren't receiving notifications
Is there a way to present the menu programmatically?
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.