-(void)createMeunView
{
UIButton *showMeunViewButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 100, 40)];
showMeunViewButton.center = self.view.center;
[showMeunViewButton setTitle:@"顯示菜單" forState:UIControlStateNormal];
[showMeunViewButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[showMeunViewButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateSelected];
[showMeunViewButton addTarget:self action:@selector(showMeunViewButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:showMeunViewButton];
showMeunView = [self createMeunView:showMeunViewButton buttonTitles:@[@"1",@"2",@"3",@"4",@"5"] menuButtonTagStart:300];
[self.view addSubview:showMeunView];
}
-(void)showMeunViewButtonAction:(UIButton *)button
{
button.selected = !button.selected;
if (button.selected) {
showMeunView.hidden = NO;
}else
{
showMeunView.hidden = YES;
}
}
#pragma mark -- 封裝創建菜單的方法
-(UIView *)createMeunView:(UIButton *)button buttonTitles:(NSArray *)buttonTitles menuButtonTagStart:(NSInteger)tagStart
{
//button菜單顯示在這個參數下面,buttonTitles菜單按鈕的標題數組,tagStart菜單按鈕tag起始值用於區別點擊了哪個按鈕
UIView *menuView = [[UIView alloc]initWithFrame:CGRectMake(button.minX, button.maxY, button.width, 41 * buttonTitles.count)];
menuView.hidden = YES;
menuView.backgroundColor = [UIColor blackColor];
for (int i = 0; i < buttonTitles.count; i++)
{
UIButton *menuButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 41 * i, menuView.width, 40)];
menuButton.backgroundColor = [UIColor brownColor];
[menuButton setTitle:buttonTitles[i] forState:UIControlStateNormal];
menuButton.titleLabel.font = FONT(14);
[menuButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[menuButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
menuButton.tag = tagStart + i;
[menuView addSubview:menuButton];
}
return menuView;
}
-(void)menuButtonAction:(UIButton *)button
{
NSLog(@"%lu",button.tag);
}