一、初始化方法

- (instancetype)initWithTitle:(NSString *)title delegate:(id<UIActionSheetDelegate>)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructiveButtonTitle:(NSString *)destructiveButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...;

参数说明:

title:视图标题

delegate:设置代理

cancelButtonTitle:取消按钮的标题

destructiveButtonTitle:特殊标记的按钮的标题

otherButtonTitles:其他按钮的标题

二、常用方法和属性介绍

@property(nonatomic,copy) NSString *title;

设置标题

@property(nonatomic) UIActionSheetStyle actionSheetStyle;

设置风格,枚举如下:

?
1
2
3
4
5
6
typedef NS_ENUM(NSInteger, UIActionSheetStyle) {
    UIActionSheetStyleAutomatic        = -1,      
    UIActionSheetStyleDefault          = UIBarStyleDefault,
    UIActionSheetStyleBlackTranslucent = UIBarStyleBlackTranslucent,
    UIActionSheetStyleBlackOpaque      = UIBarStyleBlackOpaque,
};

- (NSInteger)addButtonWithTitle:(NSString *)title;

添加一个按钮,会返回按钮的索引

- (NSString *)buttonTitleAtIndex:(NSInteger)buttonIndex;

获取按钮标题

@property(nonatomic,readonly) NSInteger numberOfButtons;

获取按钮数量

@property(nonatomic) NSInteger cancelButtonIndex;

设置取消按钮的索引值

@property(nonatomic) NSInteger destructiveButtonIndex;

设置特殊标记

@property(nonatomic,readonly,getter=isVisible) BOOL visible;

视图当前是否可见

下面是几种弹出方式,会根据风格不同展现不同的方式

- (void)showFromToolbar:(UIToolbar *)view;

- (void)showFromTabBar:(UITabBar *)view;

- (void)showFromBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated ;

- (void)showFromRect:(CGRect)rect inView:(UIView *)view animated:(BOOL)animated ;

- (void)showInView:(UIView *)view;

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated;

使用代码将视图收回

三、UIActionSheet代理方法

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

点击按钮时触发的方法

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet;

视图将要弹出时触发的方法

- (void)didPresentActionSheet:(UIActionSheet *)actionSheet;

视图已经弹出式触发的方法

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

点击按钮后,视图将要收回时触发的方法

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

点击按钮后,视图已经收回时触发的方法

转载于:https://www.cnblogs.com/yuyu-2012/p/5129666.html

IOS中UIActionSheet使用方法详解相关推荐

  1. iOS中MVC等设计模式详解

    iOS中MVC等设计模式详解 在iOS编程,利用设计模式可以大大提高你的开发效率,虽然在编写代码之初你需要花费较大时间把各种业务逻辑封装起来.(事实证明这是值得的!) 模型-视图-控制器(MVC)设计 ...

  2. java多线程中的join方法详解

    java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...

  3. Java中的main()方法详解

    源文作者:leizhimin    源文链接:http://lavasoft.blog.51cto.com/62575/53263 源文作者版权申明: 版权声明:原创作品,允许转载,转载时请务必以超链 ...

  4. Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)

    Python 在子类中调用父类方法详解(单继承.多层继承.多重继承)   by:授客 QQ:1033553122   测试环境: win7 64位 Python版本:Python 3.3.5 代码实践 ...

  5. php 文件扫描去重,PHP中的去重方法详解和文件下载

    本文主要和大家分享PHP中的去重方法详解和文件下载,在php中文件导入过程中,经常会遇到重复事件,那么就需要我们去重,然后进行下载. 1.思想 先设置一个存储主键数组,和一个空数组.解析文件,然后看要 ...

  6. keep alive PHP,vue中keep-alive使用方法详解

    这次给大家带来vue中keep-alive使用方法详解,vue中keep-alive使用的注意事项有哪些,下面就是实战案例,一起来看一下. 1.keep-alive的作用以及好处 在做电商有关的项目中 ...

  7. java中main是什么_Java中的main()方法详解

    在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...

  8. IOS之NSArray 中调用的方法详解(1)

    下面的例子以      NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"t ...

  9. IOS之NSArray 中调用的方法详解

    下面的例子以      NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"t ...

最新文章

  1. C语言感觉有意思得意东西!_只愿与一人十指紧扣_新浪博客
  2. python 多项式拟合
  3. Tomcat下项目调整Log4J的console输出级别,减少输出信息
  4. MySQL(一)MySQL基础介绍
  5. 初识Mysql(part14)--我需要知道的6个关于创建表的小知识
  6. c primer plus 第6版 中文版pdf_内功实力再精进 试驾上汽大通V80 PLUS城市版_搜狐汽车...
  7. (计算机组成原理)第二章数据的表示和运算-第二节5:定点数乘法运算(原码/补码一位乘法)
  8. bootstrap-table前端修改后台传来的数据重新进行渲染
  9. hashmap是单向链表吗_HashMap源码大剖析
  10. h5难做吗_还在担心H5太难做?介绍一个H5制作工具给你!
  11. python建立空集合_「python」集合类型及操作
  12. 网关做第n级拓扑的dns
  13. 【论文阅读】Pancreas Segmentation in Abdominal CT Scan: A Coarse-to-Fine Approach 2016
  14. Mac 安装 CentOS镜像 及 VMware虚拟机
  15. 项目管理知识体系指南(PMBOK 指南) 第6版——笔记
  16. 数字电路基础:如何提高电路工作频率
  17. excel自动求和_excel自动求和你会吗?更改姓名自动算出总分,三个函数轻松搞定...
  18. JAVA中浮点数取整数部分和取小数部分
  19. python2编码unicode,在不终止Unicode的情况下,在Python 2中编码转义字符的正确方法是什么?...
  20. 设置微信分享的标题 缩略图 连接 描述

热门文章

  1. ./configure --with-package=dir指定依赖的软件包
  2. Spring框架你敢写精通,面试官就敢问@Autowired注解的实现原理
  3. Spring Cloud @RefreshScope 原理是什么?
  4. 利用策略模式优化过多 if else 代码
  5. 从 npm 迁移至yarn
  6. linux gcc编译错误:statically linked applications requires at runtime the shared libraries
  7. 3.程序的局部性原理
  8. protoc.exe java_protobuf——使用protoc.exe生成message文件
  9. ajax提交后立刻刷新,Ajax提交表单页面刷新很快的解决方法
  10. 电厂运维的cis数据_数据中心运维,太难难难了