- 浏览: 534967 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
实现的功能:1)打开ActionSheet后展示PickerView,进行选择操作。
关键词:ActionSheet PickerView
1、新建一个Sigle View Application,命名为PickerInActionSheet,工程结构如下:
[img]
[/img]
2、修改ViewController.xib,添加一个TextField控件。
3、修改ViewController.h,如下:
连接输出口textField及操作showActionSheet,如下:
[img]
[/img]
4、修改ViewController.m,如下:
5、运行效果如下:
[img]
[/img]
[img]
[/img]
关键词:ActionSheet PickerView
1、新建一个Sigle View Application,命名为PickerInActionSheet,工程结构如下:
[img]
[/img]
2、修改ViewController.xib,添加一个TextField控件。
3、修改ViewController.h,如下:
#import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIPickerViewDelegate,UIPickerViewDataSource> @property(retain,nonatomic)UIPickerView *picker; @property(retain,nonatomic)UIActionSheet *actionSheet; @property(retain,nonatomic)IBOutlet UITextField *textField; @property(nonatomic,retain)NSDictionary *appleDevices; @property(nonatomic,retain)NSArray *deviceCategory; @property(nonatomic,retain)NSArray *deviceName; -(IBAction)showActionSheet:(id)sender; @end
连接输出口textField及操作showActionSheet,如下:
[img]
[/img]
4、修改ViewController.m,如下:
#import "ViewController.h" #define kDeviceCategory 0 #define kDeviceName 1 @interface ViewController () @end @implementation ViewController @synthesize appleDevices; @synthesize deviceCategory; @synthesize deviceName; @synthesize picker; @synthesize actionSheet; @synthesize textField; - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self initData]; } //初始化数据 -(void)initData{ textField.placeholder = @"请点击。。。"; textField.textAlignment = UITextAlignmentCenter; NSArray *array1 = [NSArray arrayWithObjects:@"iPhone",@"iPad",@"iPod",nil]; NSArray *array2 = [NSArray arrayWithObjects:@"Mac",@"iMac",@"Mac Mini",@"Mac Pro",nil]; NSDictionary *dictionary= [NSDictionary dictionaryWithObjectsAndKeys:array1,@"Mobile",array2,@"Computers",nil]; appleDevices = [[NSDictionary alloc]initWithDictionary:dictionary copyItems:YES]; NSArray *components = [self.appleDevices allKeys]; NSArray *sorted = [components sortedArrayUsingSelector:@selector(compare:)]; self.deviceCategory = sorted; NSString *selectedCategory = [self.deviceCategory objectAtIndex:0]; self.deviceName = [self.appleDevices objectForKey:selectedCategory]; } //初始化视图 -(void)showActionSheetPicker{ //在title中加入多个换行,给picker留出空间,否则picker会盖住ActionSheet的button NSString *title = @"请选择设备\n\n\n\n\n\n\n\n\n\n\n\n\n\n"; actionSheet = [[UIActionSheet alloc] initWithTitle:title delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:nil,nil]; picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 50, 320, 220)]; picker.delegate = self; picker.dataSource = self; picker.showsSelectionIndicator = YES; [actionSheet addSubview:picker]; [actionSheet showInView:self.view]; } -(void)dealloc{ self.deviceName = nil; self.deviceCategory = nil; self.appleDevices = nil; self.picker = nil; } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. } //显示actionSheet -(IBAction)showActionSheet:(id)sender{ [self showActionSheetPicker]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { //强制用竖屏模式 return UIInterfaceOrientationIsPortrait(interfaceOrientation); } #pragma mark Picker Data Source Methods - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return 2; } - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if(component == kDeviceCategory){ return [self.deviceCategory count]; }else{ return [self.deviceName count]; } } - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if(component == kDeviceCategory){ return [self.deviceCategory objectAtIndex:row]; }else{ return [self.deviceName objectAtIndex:row]; } } - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{ if(component==kDeviceCategory){ return 150; }else{ return 170; } } - (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{ return 35; } //显示picker中的数据 -(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ NSString *inputString; if(component == kDeviceCategory){ NSString *selectedCategory = [self.deviceCategory objectAtIndex:row]; NSArray *array = [self.appleDevices objectForKey:selectedCategory]; self.deviceName = array; [self.picker selectRow:0 inComponent:kDeviceName animated:YES]; [self.picker reloadComponent:kDeviceName]; inputString = selectedCategory; }else if(component == kDeviceName){ NSUInteger selectedCategoryRow = [pickerView selectedRowInComponent:kDeviceCategory]; NSString *selectedCategory = [self.deviceCategory objectAtIndex:selectedCategoryRow]; inputString = [NSString stringWithFormat:@"%@-%@",selectedCategory,[self.deviceName objectAtIndex:row]]; } //给文本框设置值 self.textField.text=inputString; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
5、运行效果如下:
[img]
[/img]
[img]
[/img]
发表评论
-
新风作浪博客学习(十九)在iOS虚拟键盘上添加动态隐藏按钮
2013-06-08 09:19 860为了给用户比较良好的交付,想在键盘上添加一个按钮,实时根据键盘 ... -
新风作浪博客学习(十八)openURL的使用(iOS调用系统电话、浏览器、地图、邮件等) .
2013-06-08 09:19 1004今天遇见一行代码实现打开一个网页,比起印象里的UIWebVie ... -
新风作浪博客学习(十七)UIImageView响应点击事件 .
2013-06-08 09:19 705有时候会遇到点击一张图片,然后让这张图片触发一个事件,或者是跳 ... -
新风作浪博客学习(十六)Navigation + Tab Bar 常用组合框架 .
2013-06-07 08:50 1253看到很多项目中都采用的是Navigation加Tab Bar组 ... -
新风作浪博客学习(十五)google地图定位小Demo .
2013-06-07 08:50 1141[img][/img]今天写的是一个简单功能的google地图 ... -
新风作浪博客学习(十四)怎样向iPhone模拟器中添加图片 .
2013-06-07 08:50 786在我们做项目中可能需要使用图库,模拟器是有图库的,但是如何像其 ... -
新风作浪博客学习(十三)表视图的分组分区和索引分区 .
2013-06-07 08:50 801本次实现的是表视图的分区和索引,代码和前面都差不多,主要还是代 ... -
新风作浪博客学习(十二)代码实现UITableViewCell表视图单元定制 .
2013-06-07 08:49 1001通常情况下我们会希望单元格UITableViewCell显示自 ... -
新风作浪博客学习(十一)UITableViewCell的标记、移动、删除、插入 .
2013-06-06 09:15 1118这篇文章是建立在 代码实现 UITableView与UITa ... -
新风作浪博客学习(十)代码实现 UITableView与UITableViewCell .
2013-06-06 09:14 1155我们常用的表格类视图就是用 UITableView与UITab ... -
新风作浪博客学习(九)两个UIPickerView控件间的数据依赖 .
2013-06-06 09:14 1072本篇实现功能是两个选取器的关联操作,滚动第一个滚轮第二个滚 ... -
新风作浪博客学习(八)代码实现UIPickerView .
2013-06-06 09:14 1284先说一下当个组件选取器,我们创建一个数组NSAray来保存选取 ... -
新风作浪博客学习(七)代码 实现UIDatePicker控件 和 Tab Bar 视图切换 .
2013-06-06 09:15 1108感觉代码写控件都一个理,先在ViewDidLoad中创建控件对 ... -
新风作浪博客学习(六)ios 视图切换翻页效果 .
2013-06-05 11:18 1061本文写的是视图切换,涉及到的内容有 1.实现代码添加Navi ... -
新风作浪博客学习(五)代码实现UISlider 和 UISwitch .
2013-02-18 09:15 1153本次实现的UISlider和UISwi ... -
新风作浪博客学习(四)把plist里数据显示在textField上 .
2013-02-18 09:15 918在代码实现Lable 、textFie ... -
新风作浪博客学习(三)NSBundle读取图片 plist文件和txt文件
2013-02-18 09:15 1731本文想简单介绍一下NSBundle读取图片到视图上,读取pli ... -
新风作浪博客学习(二)代码实现Lable 、textField创建界面以及键盘的处理
2013-02-18 09:15 1174今天写的是用代码实现一个简单界面,代码重复率比较高,可读性不是 ... -
新风作浪博客学习(一)plist文件读写操作
2013-02-18 09:14 1363文件plist 全名Property List,属性列表文件, ... -
GCDiscreetNotificationView提示视图
2013-06-05 11:17 559先看一下效果图: [img] ...
相关推荐
总的来说,"ios-自定义pickerview.zip"中的DatePickerView示例项目可以帮助开发者学习如何自定义PickerView,尤其是如何构建一个具有特定功能和样式的日期选择器。通过深入研究和实践这个项目,开发者可以提高自己在...
本资源"ios-自定义pickerView.zip"包含了一个自定义PickerView的实现,实现了数据的实时获取,这在处理动态数据或需要即时更新内容的应用场景中尤其有用。 一、PickerView基础知识 PickerView是苹果iOS SDK中的...
这个名为“ios-自定义PickerView.zip”的压缩包提供了一个使用UIScrollView实现自定义选择器的示例,可以适应一列到多列的需求。 首先,我们来了解自定义PickerView的核心概念: 1. **UIScrollView**:苹果提供的...
苹果提供了UIPickerViewDelegate的几个方法,如pickerView:viewForRow:forComponent:reusingView:,允许我们为每一行创建自定义视图。 在实际项目中,我们可能会遇到动态加载数据的情况,例如从服务器获取年份列表...
本资源包含的"PickerView.zip"压缩包很可能是提供了一个自定义的PickerView实现,帮助开发者更好地理解和自定义此类控件。 在Android系统中,PickerView通常由两个核心组件构成:HorizontalScrollView和...
总之,"ios-PickerView.zip"中的"NFPickerView"是一个关于Picker View学习的好材料,它可以帮助新手理解如何在iOS应用中使用和自定义Picker View,提升用户体验。通过学习和实践,开发者可以更好地掌握Picker View的...
接下来,为了实现触屏下拉的效果,你需要将PickerView添加到你的视图层级中,通常是布局文件。在Android中,你可以在XML布局文件中声明PickerView,或者在代码中动态添加;在iOS中,你可能需要在StoryBoard或代码中...
在iOS开发中,PickerView(选择器视图)是一种常用组件,用于展示一系列选项供用户选择,例如日期、时间或一组预设值。标题“pickerview”表明我们将讨论这个组件的使用,而描述中提到的“省市区三级联动”则意味着...
PopupWindow在Android开发中是一种非常实用的组件,它允许开发者创建弹出式窗口,用于显示额外的信息或提供交互功能,而不会占据整个屏幕。在这个场景中,PopupWindow被用来显示一个PickerView,这是一个多行滚动...
这个名为"PickerView.zip"的压缩包包含了名为"PickerView-master"的源码项目,我们可以从中学习和理解PickerView的实现原理及其自定义特性。 首先,PickerView的基本使用通常涉及到以下几个步骤: 1. **集成依赖**...
总之,"ios-简单快速的集成各种样式的pickerView.zip" 提供了一个强大的工具,可以帮助iOS开发者轻松创建各种类型的PickerView,节省开发时间和精力,同时提高用户体验。无论是在注册页面、个人信息编辑,还是其他...
这个"Android-PickerView.zip"文件可能包含了实现这一功能的源代码、示例项目和相关文档,方便开发者集成到自己的应用中。 PickerView主要由两部分构成:WheelView(滚轮视图)和Picker(选择器)。WheelView负责...
描述中提到“仿ios-pickerView.rar,太多无法一一验证是否可用”,这暗示这个压缩包可能包含了一个完整的Android项目,其中包括多个组件或功能。由于文件数量多,作者没有全部测试过,可能存在部分未验证的功能。...
在“ios-仿京东多级选择的pickerView.zip”这个项目中,开发者MuYanQin创建了一个模仿京东商城多级筛选功能的自定义PickerView控件,名为MCPickerView。这个组件对于实现商品分类、地区筛选等功能非常实用,特别是在...
为了使用这个模块,开发者需要做的是将“pickerview.zip”解压,导入项目中,然后根据博客提供的指南配置和使用这个时间选择器。这通常包括导入必要的头文件、设置PickerView的代理、初始化模型数据以及处理选择事件...
预览使用首先需要在 build.gradle 文件中添加依赖:dependencies { compile 'com.airsaid.library:pickerviewlibrary:1.0.0' }添加好依赖后,重新同步工程。可根据需求使用如下选择器:城市选择: ...
pickerView.constraintPickerViewHeight.constant = 200; pickerView.titleBackgroundColor = [UIColor whiteColor]; pickerView.separatorColor = [UIColor redColor]; [pickerView.buttonLeft setTitle:@"左边" ...