系统 UIActionSheet 和 IBActionSheet

本文详细介绍了iOS中UIActionSheet的使用方法,包括如何创建、设置样式、标题、取消按钮、破坏性按钮以及其他按钮等属性,并指出了不同iOS版本间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天详细看了一下UIActionSheet

demo地址

点击打开链接

- (IBAction)showSheet:(id)sender {
    UIActionSheet *actionSheet = [[UIActionSheet alloc]
                                  initWithTitle:@"title,nil时不显示"
                                  delegate:self
                                  cancelButtonTitle:@"取消"
                                  destructiveButtonTitle:@"确定"
                                  otherButtonTitles:@"第一项", @"第二项",nil];
    actionSheet.actionSheetStyle = UIActionSheetStyleAutomatic;
    [actionSheet showInView:self.view];

//    UIActionSheetStyle有如下枚举 (其中在:ios7以下有效果,ios7及以上没效果)
//    typedef NS_ENUM(NSInteger, UIActionSheetStyle) {
//        UIActionSheetStyleAutomatic        = -1,       // take appearance from toolbar style otherwise uses 'default' //自动
//        UIActionSheetStyleDefault          = UIBarStyleDefault,   //默认
//        UIActionSheetStyleBlackTranslucent = UIBarStyleBlackTranslucent,//黑色透明
//        UIActionSheetStyleBlackOpaque      = UIBarStyleBlackOpaque,//黑色不透明
//    };
}

其中:

title为nil时,标题不显示

cancelButtonTitle:取消按钮标题,可为nil,当设为nil时取消没有取消按钮。这里有一个区别,

ios7以前,

不论cancelButtonTitle是否为空,点击actionSheet上方的灰色区域actionSheet都不会消失,

ios7及以后 

当设置cancelButtonTitle不为nil时,点击点击actionSheet上方的灰色区域actionSheet会消失,

当设置为nil时,没有取消按钮且点击点击actionSheet上方的灰色区域actionSheet都不会消失,

delegate: 代理

destructiveButtonTitle:消极按钮,可为空,设置后会以红色显示

otherButtonTitles:其他按钮标题

    actionSheet.actionSheetStyle = UIActionSheetStyleAutomatic;//ios7没效果

1

这里有一个现象,不知道是不是bug,在ios7时当设置cancelButtonTitle为nil时,otherButtonTitles中的后两个按钮中间没有分割线。


1


IBActionSheet(一个第三方的仿照ios7风格的actionSheet)

点击打开链接

1

1

1

1

1

1

1

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值