PopMenu is pop animation menu inspired by Sina weibo / NetEase app.

Related tags

Menu PopMenu
Overview

PopMenu

License Platform

PopMenu is pop animation menu inspired by Sina weibo / NetEase app.

Screenshots

image

Installation

CocoaPods

With CocoaPods, add this line to your Podfile.

pod 'PopMenu'

and run pod install, then you're all done!

Manually

  1. Download and drop /PopMenufolder in your project.
  2. Congratulations!

How to use

NSMutableArray *items = [[NSMutableArray alloc] initWithCapacity:3];
MenuItem *menuItem = [[MenuItem alloc] initWithTitle:@"Flickr" iconName:@"post_type_bubble_flickr" glowColor:[UIColor grayColor] index:0];
[items addObject:menuItem];
    
menuItem = [[MenuItem alloc] initWithTitle:@"Googleplus" iconName:@"post_type_bubble_googleplus" glowColor:[UIColor colorWithRed:0.000 green:0.840 blue:0.000 alpha:1.000] index:0];
[items addObject:menuItem];
    
menuItem = [[MenuItem alloc] initWithTitle:@"Instagram" iconName:@"post_type_bubble_instagram" glowColor:[UIColor colorWithRed:0.687 green:0.000 blue:0.000 alpha:1.000] index:0];
[items addObject:menuItem];
    
menuItem = [[MenuItem alloc] initWithTitle:@"Twitter" iconName:@"post_type_bubble_twitter" glowColor:[UIColor colorWithRed:0.687 green:0.000 blue:0.000 alpha:1.000] index:0];
[items addObject:menuItem];
    
menuItem = [[MenuItem alloc] initWithTitle:@"Youtube" iconName:@"post_type_bubble_youtube" glowColor:[UIColor colorWithRed:0.687 green:0.000 blue:0.000 alpha:1.000] index:0];
[items addObject:menuItem];
    
menuItem = [[MenuItem alloc] initWithTitle:@"Facebook" iconName:@"post_type_bubble_facebook" glowColor:[UIColor colorWithRed:0.687 green:0.000 blue:0.000 alpha:1.000] index:0];
[items addObject:menuItem];
    
PopMenu *popMenu = [[PopMenu alloc] initWithFrame:self.view.bounds items:items];
popMenu.menuAnimationType = kPopMenuAnimationTypeNetEase; // kPopMenuAnimationTypeSina
popMenu.perRowItemCount = 3; // or 2
[popMenu showMenuAtView:self.view];

Requirements

  • iOS 7.0+
  • ARC

License

PopMenu is available under the MIT license, see the LICENSE file for more information.

Comments
  • 根据程序的可读性、便捷性提出修改意见

    根据程序的可读性、便捷性提出修改意见

    更改方案: 1、MenuItem .h 修改了Item模型的初始化方法,因为index索引,是在PopMenu内部设置的,所有不需要暴露出来

    • (instancetype)initWithTitle:(NSString *)title iconName:(NSString *)iconName glowColor:(UIColor *)glowColor index:(NSUInteger)index NS_DEPRECATED_IOS(2_0,2_0); 增加了一个init方法,和构造方法
    • (instancetype)initWithTitle:(NSString *)title iconName:(NSString *)iconName glowColor:(UIColor *)glowColor NS_AVAILABLE_IOS(2_0);
    • (instancetype)itemWithTitle:(NSString *)title iconName:(NSString *)iconName glowColor:(UIColor *)glowColor NS_AVAILABLE_IOS(2_0); 2、 GlowImageView.h 修改了.m中所有方法,将c语言方法,改成了OC方法,直接对图层操作,摒弃了Quartz2D技术
    • 增加了注释,提高程序的可读性和可交换性
    opened by JiaqiSun 21
  • Manual Installation

    Manual Installation

    CocoaPods and Carthage are awesome tools and make our life really easier, but there are some devs who still don't know how to use them.

    It would be cool to add the Manual installation guide in your README.md. You can take a look at my iOS Readme Template to see how you can do it.

    opened by lfarah 1
  • themenu background can't cover  tabbar when I set translucent to NO

    themenu background can't cover tabbar when I set translucent to NO

    Thanks for your great job. I apply popMenu to navigation item button and I found that the menu background can't cover tabbar when I set tabbar translucent to NO. I already used this function: [_popMenu showMenuAtView:self.tabBarController.view]; btw, it works well when I set translucent to YES. Any idea to fix it? Thanks!

    opened by dreamgo 0
  • 用Swift3.0开发时出现报错

    用Swift3.0开发时出现报错

    menu.didSelectedItemCompletion = { (selectedItem: MenuItem!) -> Void in print(selectedItem.index) }

    报错原因是: Cannot assign value of type '(MenuItem!) -> Void' to type 'DidSelectedItemBlock!' 这个方法不能实现,就没有办法跳转! 求解救

    opened by zhuxng 1
  • gg

    gg

    Undefined symbols for architecture arm64: "OBJC_CLASS$_XHRealTimeBlur", referenced from: objc-class-ref in PopMenu.o "_kPOPViewFrame", referenced from: -[PopMenu initailzerAnimationWithToPostion:formPostion:atView:beginTime:] in PopMenu.o "OBJC_CLASS$_POPAnimatableProperty", referenced from: objc-class-ref in MenuButton.o objc-class-ref in PopMenu.o "OBJC_CLASS$_POPSpringAnimation", referenced from: objc-class-ref in MenuButton.o objc-class-ref in PopMenu.o "_kPOPViewScaleXY", referenced from: -[MenuButton touchesBegan:withEvent:] in MenuButton.o -[MenuButton disMissCompleted:] in MenuButton.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

    opened by Rdxer 0
  • Swift pod 安装有问题

    Swift pod 安装有问题

    PopMenu.m:11:9: 'XHRealTimeBlur.h' file not found with include; use "quotes" instead PopMenu.m:12:9: 'POP.h' file not found with include; use "quotes" instead MenuButton.m:10:9: 'POP.h' file not found with include; use "quotes" instead

    opened by googlb 5
  • Scale issues on multiple clicks

    Scale issues on multiple clicks

    Hi - awesome control. 谢谢!!

    I found a bug where if the user presses repeatedly on the MenuButton - the block for completion ends but the start animation is still firing which means when you next see the icons, the one you clicked has an incorrect scale.

    I fixed this by putting the line in bold in the touchesBegan code...

    • (void)touchesBegan:(NSSet _)touches withEvent:(UIEvent )event { // 播放缩放动画 //-- Stop touches firing when an animation is still active. _if(self.pop_animationKeys.count > 0) return;

    Hope this helps someone. I would branch and commit, but am too lazy. Sorry :)

    Fantastic control though. Great Work.

    opened by Steve-Parker 0
Owner
曾宪华
曾宪华
A Slide Menu, written in Swift, inspired by Slide Menu Material Design

Swift-Slide-Menu (Material Design Inspired) A Slide Menu, written in Swift 2, inspired by Navigation Drawer on Material Design (inspired by Google Mat

Boisney Philippe 90 Oct 17, 2020
RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP

RadialMenu Looking for help? For $150/hr I'll help with your RadialMenu problems including integrating it into your project. Email [email protected] t

Brad Jasper 297 Nov 27, 2022
RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP

RadialMenu Looking for help? For $150/hr I'll help with your RadialMenu problems including integrating it into your project. Email [email protected] t

Brad Jasper 297 Nov 27, 2022
Swift-sidebar-menu-example - Create amazing sidebar menu with animation using swift

 SWIFT SIDEBAR MENU EXAMPLE In this project I create a awesome side bar menu fo

Paolo Prodossimo Lopes 4 Jul 25, 2022
An iOS context menu UI inspired by Things 3.

Contextual menus with delightful animations and styles Total control over menu contents using your own UIViewControllers Tons of feature and interacti

GitHawk 971 Nov 30, 2022
Slide-Menu - A Simple Slide Menu With Swift

Slide Menu!! Весь интерфейс создан через код

Kirill 0 Jan 8, 2022
EasyMenu - SwiftUI Menu but not only button (similar to the native Menu)

EasyMenu SwiftUI Menu but not only button (similar to the native Menu) You can c

null 10 Oct 7, 2022
Hamburger Menu Button - A hamburger menu button with full customization

Hamburger Menu Button A hamburger menu button with full customization. Inspired by VinhLe's idea on the Dribble How to use it You can config the looks

Toan Nguyen 114 Jun 12, 2022
Completion Block for UINavigationController Push/Pop UIViewController

JNAPushPopCompletionBlock Synopsis Completion block for [self.navigationController pushViewController:(nonnull UIViewController *) animated:(BOOL)] an

Md Jawad Noor Asif 40 Aug 2, 2021
Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine.

GuillotineMenu.swift Inspired by this project on Dribbble Also, read how it was done in our blog Requirements iOS 8.0+ Xcode 10 Swift 5.0 (v 4.1+) Swi

Yalantis 2.9k Dec 13, 2022
An iOS drop down menu with pretty animation and easy to customize.

IGLDropDownMenu An iOS drop down menu with pretty animation. Screenshot How To Use Use CocoaPods: pod 'IGLDropDownMenu' Manual Install: Just drap the

Galvin Li 1.2k Dec 27, 2022
Menu controller with expandable item groups, custom position and appearance animation written with Swift. Similar to ActionSheet style of UIAlertController.

Easy to implement controller with expanding menu items. Design is very similar to iOS native ActionSheet presentation style of a UIAlertController. As

Anatoliy Voropay 22 Dec 27, 2022
A menu based on Medium iOS app.

Medium 1.8.168 menu in Swift. That is still one of my favorite menus because that is easy to use and looks beautiful.

Hiroki Nagasawa 322 May 28, 2022
iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure swift.

SlideMenuControllerSwift iOS Slide View based on iQON, Feedly, Google+, Ameba iPhone app. Installation CocoaPods pod 'SlideMenuControllerSwift' Carth

Yuji Hato 3.3k Dec 29, 2022
A menu bar app to change input source swiftly using shortcuts on macOS Big Sur or later.

Source Switcher A menu bar app to change input sources swiftly using shortcuts on macOS Big Sur and later. View screenshots Introduction This app uses

null 34 Nov 9, 2022
macOS (>11.0) Menu Bar App for WLED

wledQuickControl functions Left click on the Menubar icon will toggle the WLED device On/Off Right click on the Menubar icon: will update the icon/sli

satrik 15 Nov 8, 2022
Context menu similar to the one in the Pinterest iOS app

VLDContextSheet A clone of the Pinterest iOS app context menu. Example Usage VLDContextSheetItem *item1 = [[VLDContextSheetItem alloc] initWithTitle:

Vladimir Angelov 173 Mar 28, 2022
You can easily add awesome animated context menu to your app.

Context-Menu.iOS You can easily add awesome animated context menu to your app. Made in Check this [project on dribbble] (https://dribbble.com/shots/17

Yalantis 1.8k Nov 17, 2022
Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. 🌶

RHSideButtons ?? Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app

Robert Herdzik 166 Nov 14, 2022