Giter Site home page Giter Site logo

uzysslidemenu's People

Contributors

sovanna avatar uzysjung avatar

Stargazers

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

Watchers

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

uzysslidemenu's Issues

Delegate notification is called before block is actually called.

The delegate method is named 'UzysSMMenuItemDidAction', indicating it is called once the action is completed. However, it's called before the action is completed. This would make any logic that depends on timing function incorrectly.

This is in a recent commit on my fork, where I also factored the method out (it was called two ways) and renamed the delegate method - it had a capitalized name, like a class.

Here's the method:

if (self.item.block) {
    self.item.block(self.item);
    if([self.delegate respondsToSelector:@selector(UzysSMMenuItemDidAction:)] && self.delegate) {
        [self.delegate UzysSMMenuItemDidAction:self];
    }
}

Thanks again for the great UI widget, it's very useful!

How to hide and show menus using methods?

Hello!

I am big fan of your framework, however, I have been having trouble editing it to match mine and possibly the needs of others. I am using a navigation bar item to display the menu so it naturally appears over my TableViewController, however, when I click the button again it should hide the whole menu. The reason is that the first menu prevents a user from clicking the first row in the tableview.

Currently my solution is to set the itemView.alpha = 0 in the showMainMenu method and the showIconMenu method. I have also tried setting userInteractionEnabled to false and tried making it hidden, however, I still cannot click the first row.

Any suggestions or thoughts on this issue?

Thanks,

Arjun

CocoaPods support

This slide menu really looks nice! Would be great to offer support for CocoaPods to make the installation even easier.

extra wrapper method

The method 'menuState' returns the property 'state' and does nothing else. It's easier to make the 'state' property available read-only externally and readwrite internally and remove this method.

Also, there is no way to set the state. The 'toggleState' method doesn't allow you to control what state it ends up in. I added this method:

-(void)setState:(UzysSMState)state animated:(BOOL)animated {
self.state = state;
switch (state) {
case STATE_ICON_MENU:
[self showIconMenu:animated];
break;
case STATE_MAIN_MENU:
[self showMainMenu:animated];
break;
case STATE_FULL_MENU:
[self showFullMenu:animated];
break;
default:
break;
}
}

so the menu could be used more ways.

This is in my fork, along with a bunch of other stuff, if you want to check it out.

Blocks are called twice per menu usage

Thanks for the lovely control. I'm going to file a few issues - things I've noticed as I've started working with it.

When the menu is tapped to open it, it calls the associated item's block. When the menu is tapped again to select an item, that item's block is called as well. Thus each time the menu is used, two blocks are called. This means that the blocks have to handle two different things: when I am tapped to open the menu, and when I am tapped to actually select me.

I have ported this library to Xamarin

Hey there,

I just wanted to let you know that i have ported this project over to Xamarin. Hope this is ok with you. I have linked back to your repo from the docs.

Thanks

Alex

Code duplication

Howdy!

I noticed that in a few places, code is reused identically between the animated and non-animated versions of a method. This is easily gotten around, though: put the shared code in a block, and call it, thus:

-(void)showIconMenu:(BOOL)animation {
. . . (put shared code in block here)
if(animation) {
[UIView animateWithDuration:0.3 delay:0 options:UIViewAnimationOptionBeginFromCurrentState|UIViewAnimationOptionTransitionCrossDissolve|UIViewAnimationOptionCurveEaseOut|UIViewAnimationOptionAllowAnimatedContent animations:^{
showIconMenuBlock();
} completion:^(BOOL finished) {
self.state = STATE_ICON_MENU;
}];
} else {
showIconMenuBlock();
self.state = STATE_ICON_MENU;
}
}

Thanks!

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.