iOS UI基础-6.0 UIActionSheet的使用
UIActionSheet是在iOS弹出的选择按钮项,可以添加多项,并为每项添加点击事件.
使用
1.需要实现UIActionSheetDelegate 协议
@interface NJWisdomCardDetailViewController ()<UIActionSheetDelegate>@end
2.弹出选择按钮框
- (void)showSheet{UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"title,nil时不显示"delegate:selfcancelButtonTitle:@"取消"destructiveButtonTitle:@"确定"otherButtonTitles:@"第一项", @"第二项",nil];actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;[actionSheet showInView:self.view]; }
参数解释:
- actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;//设置样式
- cancelButtonTitle和destructiveButtonTitle 是系统带的两个按钮。
- otherButtonTitles是自己定义的项,注意,最后一个参数要是nil。
- [actionSheet showInView:self.view]; 这行语句的意思是在当前view显示Action sheet。
设置样式,操作表单也支持三种风格:
- UIActionSheetStyleDefault //默认风格:灰色背景上显示白色文字
- UIActionSheetStyleBlackTranslucent //透明黑色背景,白色文字
- UIActionSheetStyleBlackOpaque //纯黑背景,白色文字
3.监听项的点击事件。实现协议里的有相应的方法
(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {if (buttonIndex == 0) {[self showAlert:@"确定"];}else if (buttonIndex == 1) {[self showAlert:@"第一项"];}else if(buttonIndex == 2) {[self showAlert:@"第二项"];}else if(buttonIndex == 3) {[self showAlert:@"取消"];} } - (void)actionSheetCancel:(UIActionSheet *)actionSheet{ } -(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{ } -(void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex{ }
注意事项
在开发过程中,发现有时候UIActionSheet的最后一项点击失效,点最后一项的上半区域时有效,这是在特定情况下才会发生,这个场景就是试用了UITabBar的时候才有。解决办法:
在showView时这样使用,[actionSheet showInView:[UIApplication sharedApplication].keyWindow];或者[sheet showInView:[AppDelegate sharedDelegate].tabBarController.view];这样就不会发生遮挡现象了。
iOS UI基础-6.0 UIActionSheet的使用相关推荐
- iOS UI基础-7.0 UIScrollView
概述 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限.当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容,普通的UIView不具备滚动功能,不能显示过多的 ...
- iOS UI基础-11.0 UINavigationController
导航控制器 利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的"设置"应用 UINavigationCon ...
- iOS UI基础-4.1应用程序管理 字典转Model
用模型取代字典 使用字典的坏处 一般情况下,设置数据和取出数据都使用"字符串类型的key",编写这些key时,编辑器没有智能提示,需要手敲 dict[@"name&quo ...
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础-手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- IOS开发基础之UI基础的团购源码完整版本
IOS开发基础之UI基础的团购源码完整版本 // // ViewController.m // 17-团购案例 // // Created by 鲁军 on 2021/2/4. //#import & ...
- IOS开发之UI基础LOL英雄展示-15
IOS开发之UI基础LOL英雄展示-15 // // ViewController.m // 15-英雄展示-单组数据 // // Created by 鲁军 on 2021/2/3. //#impo ...
- IOS开发基础之UI的喜马拉雅的项目-10
IOS开发基础之UI的喜马拉雅的项目-10 // // ViewController.m // 10-喜马拉雅 // // Created by 鲁军 on 2021/2/2. //#import & ...
- IOS UI开发基础之超级猜图完整版本-08
IOS UI开发基础之超级猜图完整版本-08 // // ViewController.m // 09-超级猜图 // // Created by 鲁军 on 2021/1/31. //#import ...
- iOS从初级到精通就业 UI基础-栾斌-专题视频课程
iOS从初级到精通就业 UI基础-12502人已学习 课程介绍 本课程涵盖UIKit框架大多数基础常用控件的使用,以及页面跳转,页面传值,可视化编程等项目开发中常用技术. 课程收益 ...
最新文章
- 《Adobe Premiere Pro CC经典教程(彩色版)》——2.2 建立项目
- 【云周刊】第178期:阿里云以生态联盟推动全球市场,牵手Bolloré集团全球合作...
- EPSON机器人SPLE+语言_简单实例
- python是什么时候发布的_python发布日期
- 2009年网页设计10大趋势
- 001 makefile的使用
- PyTorch 1.0 中文文档:torch.utils.data
- js29--装饰着模式
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- iOS开发中的错误整理,Changing the delegate of a tab bar managed by a tab bar controller is not allowed...
- C语言下取整下半个方括号,c语言易错知识点总结[工作范文](28页)-原创力文档...
- HDU 5643 约瑟夫环的应用
- c++ 打印日志信息
- 勒索病毒最新变种for linux,Satan勒索病毒新变种卷土重来 安全狗提醒您注意
- Cloudera迁移scm数据库
- 淘宝平台搜索规则变化,怎么提升搜算转换率?
- 国开电大0-3岁婴幼儿的保育与教育形考任务
- STM32 DS18B20温度传感器实验(HAL库)
- ( 算法树之几何 )【 皮克定理 】
- PyDev Eclipse使用技巧说明
热门文章
- elasticSearch6源码分析(6)http和transport模块
- 创建squashfs.img文件挂载失败
- cookie的简单学习
- LipNet与ICLR评委互怼始末:名气大又怎样,还不是被拒绝了
- 如何有效提高数据中心PUE?
- PHP Fatal error: Class #39;DOMDocument#39; not found
- 作为程序员我给csdn博客添加打赏功能
- 难死金庸的考题(高中难度)
- 可爱的特殊字符集收集
- 解决mysqlslap执行命令报错(BEGIN failed--compilation aborted at //bin/mysqlslap line 2098)usr...