IActionSheet是在IOS弹出的选择按钮项,能够添加多项,并为每项添加点击事件。 java
为了快速完成这例子,咱们打开Xcode 4.3.2, 先创建一个single view application。而后再xib文件添加一个button,用来弹出sheet view。 app
一、首先在.h文件中实现协议,加代码的地方在@interface那行的最后添加<UIActionSheetDelegate>,协议至关于java里的接口,实现协议里的方法。 spa
二、添加button,命名button为showSheetView.三、为button创建Action映射,映射到.h文件上,事件类型为Action ,命名为showSheet。 .net
四、在.m文件上添加点击事件代码 code
图的效果是这样的: 索引
actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;//设置样式 接口
参数解释: 事件
cancelButtonTitle destructiveButtonTitle是系统自动的两项。 开发
otherButtonTitles是本身定义的项,注意,最后一个参数要是nil。 get
[actionSheet showInView:self.view];这行语句的意思是在当前view显示Action sheet。固然还能够用其余方法显示Action sheet。
对应上面的图和代码,一目了然了把
五、接下来咱们怎么相应Action Sheet的选项的事件呢?实现协议里的方法。为了能看出点击Action sheet每一项的效果,咱们加入UIAlertView来作信息显示。下面是封装的一个方法,传入对应的信息,在UIAlertView显示对应的信息。
看到那个红色的按钮没?那是ActionSheet支持的一种所谓的销毁按钮,对某户的某个动做起到警示做用,
好比永久性删除一条消息或图像时。若是你指定了一个销毁按钮他就会以红色高亮显示:
actionSheet.destructiveButtonIndex=1;
与导航栏相似,操做表单也支持三种风格 :
UIActionSheetStyleDefault //默认风格:灰色背景上显示白色文字
UIActionSheetStyleBlackTranslucent //透明黑色背景,白色文字
UIActionSheetStyleBlackOpaque //纯黑背景,白色文字
用法:
actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;//设置样式
我选sheet 里的第一项,显示以下:
六、注意事项,在开发过程当中,发现有时候UIActionSheet的最后一项点击失效,点最后一项的上半区域时有效,这是在特定状况下才会发生,这个场景就是试用了UITabBar的时候才有。解决办法:
在showView时这样使用,[actionSheet showInView:[UIApplication sharedApplication].keyWindow];或者[sheet showInView:[AppDelegate sharedDelegate].tabBarController.view];这样就不会发生遮挡现象了。