[iPhone开发之控件的使用]UIActionSheet的各种属性、方法及代理的使用-阿里云开发者社区

开发者社区> 技术小胖子> 正文

[iPhone开发之控件的使用]UIActionSheet的各种属性、方法及代理的使用

简介:
+关注继续查看
[c-sharp] view plaincopy
  1. #import "ActionSheetTestViewController.h"  
  2. @implementation ActionSheetTestViewController  
  3. /* 
  4. Tasks 
  5.   
  6. Creating Action Sheets 
  7.     – initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:   
  8.     Setting Properties 
  9.     delegate  property   
  10.     title  property   
  11.     visible  property   
  12.     actionSheetStyle  property  无例 
  13. Configuring Buttons 
  14.     – addButtonWithTitle:   
  15.     numberOfButtons  property   
  16.     – buttonTitleAtIndex:   
  17.     cancelButtonIndex  property   
  18.     destructiveButtonIndex  property   
  19.     firstOtherButtonIndex  property   
  20. Displaying 
  21.     – showFromTabBar:   
  22.     – showFromToolbar:   
  23.     – showInView:   
  24. Dismissing 
  25.     – dismissWithClickedButtonIndex:animated:   
  26. */  
  27.   
  28. // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.  
  29. - (void)viewDidLoad {  
  30.     UILabel *numOfBtn = [[UILabel alloc]initWithFrame:CGRectMake(10.0, 10.0, 30.0, 30.0)];  
  31.     UILabel *titleOfBtn = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 10.0, 100.0, 30.0)];  
  32.     UILabel *cancelBtnIndex = [[UILabel alloc]initWithFrame:CGRectMake(200.0, 10.0, 30.0, 30.0)];  
  33.     UILabel *destructiveBtnIndex = [[UILabel alloc]initWithFrame:CGRectMake(10.0, 50.0, 30.0, 30.0)];  
  34.     UILabel *firstOtherBtnIndex = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 50.0, 30.0, 30.0)];  
  35.     UIActionSheet *actionSheetTest = [[UIActionSheet alloc]initWithTitle:@"ActionSheetTest"   
  36.                                 delegate:self  
  37.                                 cancelButtonTitle:@"CancelButton"   
  38.                                 destructiveButtonTitle:@"RedButton"   
  39.                                 otherButtonTitles:@"OtherButton1",@"OtherButton2",nil];  
  40.     //看actionSheet是否可见,这是一个只读属性  
  41.     BOOL a = actionSheetTest.visible;  
  42.     NSLog(@"%d",a);  
  43.       
  44.     //不考虑指定索引的按钮的动作,可以设置是否有动画  
  45.     [actionSheetTest dismissWithClickedButtonIndex:0 animated:NO];  
  46.       
  47.     //设置标题  
  48.     actionSheetTest.title = @"ActionSheetTitle";  
  49.       
  50.     //通过给定标题添加按钮  
  51.     [actionSheetTest addButtonWithTitle:@"addButtonWithTitle"];  
  52.       
  53.     //按钮总数  
  54.     numOfBtn.text = [NSString stringWithFormat:@"%d",actionSheetTest.numberOfButtons];  
  55.       
  56.     //获取指定索引的标题  
  57.     titleOfBtn.text = [actionSheetTest buttonTitleAtIndex:4];  
  58.       
  59.     //获取取消按钮的索引  
  60.     cancelBtnIndex.text = [NSString stringWithFormat:@"%d",actionSheetTest.cancelButtonIndex];  
  61.       
  62.     //获取红色按钮的索引  
  63.     destructiveBtnIndex.text = [NSString stringWithFormat:@"%d",actionSheetTest.destructiveButtonIndex];  
  64.       
  65.     //获取第一个其他按钮的索引  
  66.     firstOtherBtnIndex.text = [NSString stringWithFormat:@"%d",actionSheetTest.firstOtherButtonIndex];  
  67.       
  68.     //设置actionSheet出现的方式  
  69.     [actionSheetTest showInView:self.view];//or [actionSheetTest showFromTabBar:] or [actionSheetTest showFromToolBar:]  
  70.       
  71.     [self.view addSubview:numOfBtn];  
  72.     [self.view addSubview:titleOfBtn];  
  73.     [self.view addSubview:cancelBtnIndex];  
  74.     [self.view addSubview:destructiveBtnIndex];  
  75.     [self.view addSubview:firstOtherBtnIndex];  
  76.       
  77.     [actionSheetTest release];  
  78.     [numOfBtn release];  
  79.     [titleOfBtn release];  
  80.     [cancelBtnIndex release];  
  81.     [destructiveBtnIndex release];  
  82.     [firstOtherBtnIndex release];  
  83.       
  84.     [super viewDidLoad];  
  85. }  
  86.   
  87. /* 
  88. // Override to allow orientations other than the default portrait orientation. 
  89. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
  90.     // Return YES for supported orientations 
  91.     return (interfaceOrientation == UIInterfaceOrientationPortrait); 
  92. } 
  93. */  
  94. - (void)didReceiveMemoryWarning {  
  95.     // Releases the view if it doesn't have a superview.  
  96.     [super didReceiveMemoryWarning];  
  97.       
  98.     // Release any cached data, images, etc that aren't in use.  
  99. }  
  100. - (void)viewDidUnload {  
  101.     // Release any retained subviews of the main view.  
  102.     // e.g. self.myOutlet = nil;  
  103. }  
  104.   
  105. - (void)dealloc {  
  106.     [super dealloc];  
  107. }  
  108.  
  109. #pragma mark -- UIActionSheetDelegate --  
  110. //根据被点击按钮的索引处理点击事件  
  111. - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {  
  112.     NSLog(@"clickedButtonAtIndex:%d",buttonIndex);  
  113. }  
  114. //ActionSheet已经消失时  
  115. - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {  
  116.     NSLog(@"didDismissWithButtonIndex:%d",buttonIndex);  
  117. }  
  118. //ActionSheet即将消失时  
  119. - (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex {  
  120.     NSLog(@"willDismissWithButtonIndex:%d",buttonIndex);  
  121. }  
  122. //  
  123. - (void)actionSheetCancel:(UIActionSheet *)actionSheet {  
  124.     NSLog(@"actionSheetCancel");  
  125.       
  126. }  
  127. //ActionSheet已经显示时  
  128. - (void)didPresentActionSheet:(UIActionSheet *)actionSheet {  
  129.     NSLog(@"didPresentActionSheet%@",actionSheet);  
  130. }  
  131. //ActionSheet即将显示时  
  132. - (void)willPresentActionSheet:(UIActionSheet *)actionSheet {  
  133.     NSLog(@"willPresentActionSheet%@",actionSheet);  
  134. }  

  1. @end  





  本文转自新风作浪 51CTO博客,原文链接:http://blog.51cto.com/duxinfeng/1208757,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
安卓开发_单选按钮控件(RadioButton)的简单使用
最近复习安卓基础的时候发现没有写关于单选按钮、复选按钮的博客,可能因为以前学习的时候感觉太简单了就没有写,现在补上吧   当我们在各种客户端注册账号的时候,会有几项单选项,比如选择您的性别。下面就是学习怎么实现这种效果   一、安卓中,单选按钮用RadioButton表示,因为RadioBu...
1036 0
react native插件 react-navigation使用心得
StackNavigator StackNavigator(screens,configs) const Stack = StackNavigator({ Home: { screen: Home, }, Profile: { screen: Profile } }.
1244 0
iPhone 应用开发的5个贴士
本文作者为来自 Redbytes Software 的开发者 James Richard,主要介绍开发 iPhone 应用过程中大有益处的五个贴士。文章系国内 ITOM 管理平台 OneAPM 编译呈现
1330 0
【Based Android】让你的android应用使用可爱的iphone备忘录字体
用过iphone的朋友一定会很记得ios系统自带的备忘录,里面的字体非常的可爱,所以大家有没有想过把这个字体弄到你的android设备中呢?                    其实android提供了非常方便的字体导入了方法了,这里不得不提到一个几乎快被大家遗忘了的一个文件夹assets.
601 0
10.Eclipse下Ndk开发(ffmpeg native 方式播放视频,万能解码(SurfaceView, 播放音频,)
(创建于2018/1/26) 遇到的问题 遇到一个很棘手的问题,在Eclipse上引入两个头文件报错 #include #include 右键->Porperties->C/C++General->Paths and Symbols中可以看到 987671.
1144 0
iOS6和iPhone5使用第三方静态库在真机无法运行的处理
环境: xcode5.1 ios7 在模拟器下正常运行的程序,在真机上出现下面的错误: ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/david/Downloads/QR code/QR code/ZBarSDK/libzbar.a for architecture armv7s 上面的提示是使用的libzbar这个库不支持armv7s。
751 0
Android 开发中的代码片段(2)复制对象之间的属性值
前言 开发中会遇到这样的一个情况,我们得到一个dto对象,里面有几十个属性值,需要将这几十个属性值的N个通过VO传输另外一个地方,一般我们的做法是: 创建VO类,new vo() 对象,通过vo.set(dto.get)的方式不断的设置值。
862 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载