UIActionSheet是一种操作表单,在iOS平台弹出的选择按钮项,可以添加多项,并为每项添加点击事件。
UIActionSheet使用很简单,只需在你的视图上添加和设置代理即可,废话少说,下面代码实现:
- (void)initButton { UIButton *btn = [[UIButton alloc] init]; btn.frame = CGRectMake(120, 30, 80, 40); btn.backgroundColor = [UIColor whiteColor]; btn.layer.cornerRadius = 5.0f; btn.tag = 1; [btn setTitle:@"弹出" forState:UIControlStateNormal]; [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [btn addTarget:self action:@selector(clickBtn:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn]; [btn release]; }
- (void)clickBtn:(UIButton *)sender { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"操作表单" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"确定" otherButtonTitles:@"第一项", @"第二项",nil]; actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque; [actionSheet showInView:self.view]; [actionSheet release]; // 操作表单支持三种风格 /* UIActionSheetStyleDefault //默认风格:灰色背景上显示白色文字 UIActionSheetStyleBlackTranslucent // 透明黑色背景,白色文字 UIActionSheetStyleBlackOpaque // 纯黑背景,白色文字 */ }
// 代理回调方法:UIActionSheet Delegate -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex == 0) { }else if (buttonIndex == 1) { }else if(buttonIndex == 2) { }else if(buttonIndex == 3) { } } - (void)actionSheetCancel:(UIActionSheet *)actionSheet { } -(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex { } -(void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex { }
效果图如下: