2.UIActionSheet类(在iOS弹出的选择按钮项)

本文详细介绍了如何在iOS应用中使用UIActionSheet组件来创建弹出式选择按钮。包括了UIActionSheet对象的创建、样式设置、按钮动态添加及响应处理等关键步骤,并提供了注意事项避免常见问题。
摘要由CSDN通过智能技术生成

2.UIActionSheet类(iOS弹出的选择按钮项)

 

 1)新建对象

 UIActionSheet*actionSheet = [[UIActionSheet alloc]

                                  initWithTitle:@"title,nil时不显示"

                                  delegate:self

                                  cancelButtonTitle:@"取消"

                                  destructiveButtonTitle:@"确定"

                                  otherButtonTitles:@"第一项", @"第二项",@"第三项",nil];//新建UIActionSheet对象

 

 

/**动态添加按钮

如果我要在运行时改变应该怎么办呢?动态添加按钮看起来应该也很简单,不要init函数中指定而在之后添加可以了,如下代码就展示了这点。

- (void)testActionSheetDynamic {  // 创建时仅指定取消按钮 UIActionSheet *sheet = [[UIActionSheet alloc]initWithTitle:@"Dynamic UIActionSheet"  delegate:self  cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil  otherButtonTitles:nil];

 // 逐个添加按钮(比如可以是数组循环) [sheetaddButtonWithTitle:@"Item A"];  [sheet addButtonWithTitle:@"ItemB"]; [sheet addButtonWithTitle:@"Item C"];  [sheetshowFromRect:view.bounds inView:view animated:YES];  [sheetrelease]; }

**/

 

 

 

 

2)设置其属性

 actionSheet.actionSheetStyle= UIActionSheetStyleBlackOpaque;//设置其风格

操作表单也支持三种风格 

UIActionSheetStyleDefault             //默认风格:灰色背景上显示白色文字  

UIActionSheetStyleBlackTranslucent    //透明黑色背景,白色文字   

UIActionSheetStyleBlackOpaque         //纯黑背景,白色文字  

 

actionSheet.destructiveButtonIndex=1//指定了一个销毁按钮他就会以红色高亮显示

 

3)将其添加到视图当中。

 [actionSheet showInView:self.view];//在当前view显示Actionsheet

4)实现各按钮对应的方法

-(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{

    if(buttonIndex == 0) {//确定按钮

       // [self showAlert:@"确定"];

    }else if (buttonIndex == 1){

       // [selfshowAlert:@"第一项"];

    }else if(buttonIndex == 2){

       // [selfshowAlert:@"第二项"];

    }else if(buttonIndex == 3){//取消按钮

       // [selfshowAlert:@"取消"];

    }

}

 

- (void)actionSheetCancel:(UIActionSheet*)actionSheet{

   

}

-(void)actionSheet:(UIActionSheet*)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{

   

}

-(void)actionSheet:(UIActionSheet*)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex{

   

}

 

注意事项

在开发过程中,发现有时候UIActionSheet的最后一项点击失效,点最后一项的上半区域时有效,这是在特定情况下才会发生,这个场景就是试用了UITabBar的时候才有。解决办法:

showView时这样使用,[actionSheetshowInView:[UIApplication sharedApplication].keyWindow];或者[sheetshowInView:[AppDelegate sharedDelegate].tabBarController.view];这样就不会发生遮挡现象了。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值