iOS之按钮散开框架AWESOMEMENU的简单使用

#import "ViewController.h"

#import "AwesomeMenu.h"


@interface ViewController ()<AwesomeMenuDelegate,AwesomeMenuItemDelegate>


@end


@implementation ViewController


- (void)viewDidLoad {

    [superviewDidLoad];


    

    [selfsetupAwesomeMenu];

}

#pragma mark - 创建 AwesomeMenu按钮

- (void)setupAwesomeMenu

{

    

    //1. 中间的startItem

    AwesomeMenuItem *startItem = [[AwesomeMenuItemalloc]

                                  initWithImage:[UIImageimageNamed:@"icon_pathMenu_background_normal"]

                                  highlightedImage:[UIImageimageNamed:@"icon_pathMenu_background_highlighted"]

                                  ContentImage:[UIImageimageNamed:@"icon_pathMenu_mainMine_normal"]

                                  highlightedContentImage:nil];

    

    //2. 添加其他几个按钮

    AwesomeMenuItem *item0 = [[AwesomeMenuItemalloc]

                              initWithImage:[UIImageimageNamed:@"bg_pathMenu_black_normal"]

                              highlightedImage:nil

                              ContentImage:[UIImageimageNamed:@"icon_pathMenu_mainMine_normal"]

                              highlightedContentImage:[UIImageimageNamed:@"icon_pathMenu_mainMine_highlighted"]];

    

    AwesomeMenuItem *item1 = [[AwesomeMenuItemalloc]

                              initWithImage:[UIImageimageNamed:@"bg_pathMenu_black_normal"]

                              highlightedImage:nil

                              ContentImage:[UIImageimageNamed:@"icon_pathMenu_collect_normal"]

                              highlightedContentImage:[UIImageimageNamed:@"icon_pathMenu_collect_highlighted"]];

    

    AwesomeMenuItem *item2 = [[AwesomeMenuItemalloc]

                              initWithImage:[UIImageimageNamed:@"bg_pathMenu_black_normal"]

                              highlightedImage:nil

                              ContentImage:[UIImageimageNamed:@"icon_pathMenu_scan_normal"]

                              highlightedContentImage:[UIImageimageNamed:@"icon_pathMenu_scan_highlighted"]];

    

    AwesomeMenuItem *item3 = [[AwesomeMenuItemalloc]

                              initWithImage:[UIImageimageNamed:@"bg_pathMenu_black_normal"]

                              highlightedImage:nil

                              ContentImage:[UIImageimageNamed:@"icon_pathMenu_more_normal"]

                              highlightedContentImage:[UIImageimageNamed:@"icon_pathMenu_more_highlighted"]];

    

    NSArray *items =@[item0, item1, item2, item3];

    

    //3. 创建 Menu

    CGRect start=CGRectMake(20,150, 200,200);//中心按钮的位置

    AwesomeMenu *menu = [[AwesomeMenualloc] initWithFrame:startstartItem:startItem menuItems:items];

    

    [self.viewaddSubview:menu];

    

    //4. 不要歪脖

    menu.rotateAddButton =NO;//设置中心按钮的小人图像不倾斜

    

    //5. 设置弹出范围

    menu.menuWholeAngle =M_PI_2;//所有子按钮形成的跨度

    

    //6. 设置位置

    menu.startPoint =CGPointMake(50,50);//在初始化过的中心按钮位置基础上叠加数值修改中心按钮的位置;

    menu.nearRadius=150;//子按钮先弹到离中心按钮100的距离,再弹回到结束时的位置(如果不设置menu.endRadius,则弹回到默认位置);当点击中心按钮收回子按钮时,不弹,

     menu.farRadius=150;//子按钮先弹到离中心按钮100的距离,再弹回到结束时的位置(如果不设置menu.endRadius,则弹回到默认位置);当点击中心按钮收回子按钮时,子按钮先弹到离中心按钮100的距离,再弹回到结束时的位置;

    menu.endRadius=80;//子按钮弹开结束时,离中心按钮的距离,也就时辐射半径

//    menu.rotateAngle=M_PI*0.5;//决定第一个子按钮的位置,如果不设置这个参数,默认第一个子按钮和中心按钮的连线是一条数值方向的线;

    menu.timeOffset=3;//点击中心按钮,每一个子按钮都是等3秒后开始弹出或弹回;

//    menu.expandRotation=200;

//    menu.closeRotation=100;

//    menu.animationDuration=3;//从子按钮弹出到子按钮停止持续的时间

    //7. 设置代理

    menu.delegate =self;

    

    //8. 设置透明度

    menu.alpha =0.7;

}


#pragma mark 子按钮选中索引方法

- (void)awesomeMenu:(AwesomeMenu *)menu didSelectIndex:(NSInteger)idx

{

    //1. 换图片

    menu.contentImage = [UIImageimageNamed:@"icon_pathMenu_mainMine_normal"];

    

    //2. 透明度

    menu.alpha =0.7;

    

    switch (idx) {

        case0:

            NSLog(@"0");

            break;

        case1:

//            [self presentViewController:[[HMNavigationController alloc] initWithRootViewController:[HMCollectionViewController new]] animated:YES completion:nil];

            NSLog(@"1");

            break;

        case2:

            NSLog(@"2");

            break;

        case3:

            NSLog(@"3");

            break;

            

        default:

            break;

    }

}


#pragma mark 中心按钮打开方法

- (void)awesomeMenuDidFinishAnimationOpen:(AwesomeMenu *)menu

{

    //1. 换图片

    menu.contentImage = [UIImageimageNamed:@"icon_pathMenu_cross_normal"];

    

    //2. 透明度

    menu.alpha =1;

    NSLog(@"中心按钮打开");

}


#pragma mark 中心按钮关闭方法

- (void)awesomeMenuDidFinishAnimationClose:(AwesomeMenu *)menu

{

    //1. 换图片

    menu.contentImage = [UIImageimageNamed:@"icon_pathMenu_mainMine_normal"];

    

    //2. 透明度

    menu.alpha =0.7;

    NSLog(@"中心按钮关闭");

}


-(void)AwesomeMenuItemTouchesBegan:(AwesomeMenuItem *)item{

    NSLog(@"开始点击按钮");

}


-(void)AwesomeMenuItemTouchesEnd:(AwesomeMenuItem *)item{

    NSLog(@"结束点击按钮");

}


- (void)didReceiveMemoryWarning {

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}



@end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值