控件例子:http://download.csdn.net/detail/qqmcy/6972517
ViewController.m使用方法如下:例子来自网上,出处忘记了。我在原版基础上加了,主Button的代理回调
// // ViewController.m // 可以横向弹出的Button // // Created by 杜甲 on 14-2-28. // Copyright (c) 2014年 杜甲. All rights reserved. // #import "ViewController.h" #import "OCExpandableButton.h" @interface ViewController ()<OCExpandableButtonAlignmentDelegate> @property (strong , nonatomic) OCExpandableButton* button; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSMutableArray *subviews = [[NSMutableArray alloc] init]; for(int i = 0; i < 2; i++) { UIButton *numberButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 30.f, 30.f)]; numberButton.tag = i; numberButton.backgroundColor = [UIColor clearColor]; [numberButton setTitle:[NSString stringWithFormat:@"%d", i] forState:UIControlStateNormal]; numberButton.titleLabel.textAlignment = NSTextAlignmentCenter; [numberButton addTarget:self action:@selector(tapped:) forControlEvents:UIControlEventTouchUpInside]; [subviews addObject:numberButton]; } self.button = [[OCExpandableButton alloc] initWithFrame:CGRectMake(0, 57, 39, 59) subviews:subviews]; // button.backgroundColor = [UIColor redColor]; self.button.delegate = self; //You can change the alignment with: self.button.alignment = OCExpandableButtonAlignmentLeft; [self.view addSubview:self.button]; } - (void)tapped:(UIButton*)sender { switch (sender.tag) { case 0: break; default: break; } [self.button close]; NSLog(@"tapped = %d",sender.tag); } -(void)mainButton:(BOOL)active { } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
原文:http://blog.csdn.net/qqmcy/article/details/20121501