iPhone应用开发之UIPickerView使用DEMO

移动开发 iOS
本文介绍的是UIPickerView使用DEMO,内容基于代码实现。主要是实现选择器的用法,来看详细代码。

iPhone应用开发之UIPickerView使用DEMO是本文要介绍的内容,内容不多,本文基于代码实现的内容,主要编写选择器的实现。从生肖选择、学历选择等来实现UIPickerView的用法,来看详细内容。

  1. @interface Set_starViewController : UIViewController<UIPickerViewDelegate>{  
  2. UIPickerView  *pickerview;  
  3. UILabel       *contentview;  
  4. NSArray       *content;//星座  
  5. id      _delegate;  
  6. int     _type;  
  7. }  
  8. -(id)initWithDelegate:(id)delegate type:(int)type;  
  9. - (void)setString:(id)sender;  
  10. @end  
  11. //  Set_starViewController.m  
  12. //  
  13. //  Created by AmorYin on 10-11-23.  
  14. //  Copyright 2010 __MyCompanyName__. All rights reserved.  
  15. //  
  16. #import "Set_starViewController.h"  
  17. @implementation Set_starViewController  
  18. -(id)initWithDelegate:(id)delegate type:(int)type  
  19. {  
  20. self = [super init];  
  21. if (self != nil){  
  22. UILabel *titleText = [[UILabel alloc] initWithFrame: CGRectMake(0, 0, 200, 20)];  
  23. titleText.backgroundColor = [UIColor clearColor];  
  24. titleText.textAlignment = UITextAlignmentCenter;  
  25. titleText.textColor = [UIColor colorWithRed:0.33 green:0.33 blue:0.33 alpha:1.0];  
  26. [titleText setFont:[UIFont systemFontOfSize:15.0]];  
  27. [titleText setText:@"星座"];  
  28. self.navigationItem.titleView=titleText;  
  29. [titleText release];  
  30. _delegate = delegate;  
  31. UIButton *back = [[UIButton alloc] initWithFrame:CGRectMake(0.0, 0.0, 62.0, 32.0)];  
  32. [back setBackgroundImage:[UIImage imageNamed:@"返回按钮.png"] forState:UIControlStateNormal];  
  33. [back setBackgroundImage:[UIImage imageNamed:@"返回按钮按下.png"] forState:UIControlStateHighlighted];  
  34. [back setBackgroundImage:[UIImage imageNamed:@"返回按钮.png"] forState:UIControlStateDisabled];  
  35. [back addTarget:_delegate  
  36. action:@selector(backView)  
  37.   forControlEvents:UIControlEventTouchUpInside];  
  38. UIBarButtonItem *add = [[UIBarButtonItem alloc] initWithCustomView:back];  
  39. [[self navigationItem] setLeftBarButtonItem:add];  
  40. [add release];  
  41. [back release];  
  42. UIBarButtonItem *save = nil;  
  43. save = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave  
  44. target:self   
  45. action:@selector(setString:)];  
  46. self.navigationItem.rightBarButtonItem = save;  
  47. save = nil;  
  48. [save release];  
  49. if (type == 0) {  
  50. content = [[NSArray alloc] initWithObjects:@"水瓶座",@"双鱼座",@"白羊座",@"金牛座"  
  51.   ,@"双子座",@"巨蟹座",@"狮子座",@"处女座"  
  52.   ,@"天秤座",@"天蝎座",@"射手座",@"山羊座",nil];  
  53. _type = 0;  
  54. }else {  
  55. content = [[NSArray alloc] initWithObjects:@"初中",@"高中",@"中技",@"中专",@"大专",@"本科",@"MBA",@"硕士"  
  56.  
  57.   ,@"其他",nil];  
  58. _type = 1;  
  59. }  
  60. }  
  61. return self;  
  62. }  
  63.  
  64. -(void) loadView  
  65. {  
  66. UIView  *myview = [[[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame] autorelease];  
  67. myview.autoresizesSubviews = YES;  
  68. [myview setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];  
  69. self.view  = myview;  
  70. // 设置选择器  
  71. pickerview = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0, 150.0, 320.0, 216.0)];  
  72. pickerview.delegate = self;  
  73. pickerview.showsSelectionIndicator = YES;  
  74. [self.view addSubview:pickerview];  
  75. contentview = [[UILabel alloc] initWithFrame:CGRectMake(80.0, 80.0, 100.0, 40.0)];  
  76. contentview.backgroundColor = [UIColor clearColor];  
  77. [self.view addSubview: contentview];  
  78.  
  79. }  
  80.  
  81. - (void)didReceiveMemoryWarning {  
  82.     // Releases the view if it doesn't have a superview.  
  83.     [super didReceiveMemoryWarning];  
  84.     // Release any cached data, images, etc that aren't in use.  
  85. }  
  86. - (void)viewDidUnload {  
  87.     [super viewDidUnload];  
  88.     // Release any retained subviews of the main view.  
  89.     // e.g. self.myOutlet = nil;  
  90. }  
  91. - (void)dealloc {  
  92.     [super dealloc];  
  93. [contentview release];  
  94. [pickerview release];  
  95. [content release];  
  96. }  
  97.  
  98. #pragma mark -  
  99. #pragma mark 处理方法  
  100. // 返回显示的列数  
  101. - (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView  
  102. {  
  103. return 1;  
  104. }  
  105. // 返回当前列显示的行数  
  106.  
  107. - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component  
  108. {  
  109. return [content count];  
  110. }  
  111. // 设置当前行的内容,若果行没有显示则自动释放  
  112. - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component  
  113. {  
  114. return [content objectAtIndex:row];  
  115. }  
  116. - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component  
  117. {  
  118. //NSString *result = [pickerView pickerView:pickerView titleForRow:row forComponent:component];  
  119. NSString  *result = nil;  
  120. result = [content objectAtIndex:row];  
  121. NSLog(@"result: %@",result);  
  122. contentview.text = result;  
  123. [result release];  
  124. }  
  125.  
  126. - (void)setString:(id)sender  
  127. {  
  128. // 传递值  
  129. if (_type ==0) {  
  130. [_delegate setSomthing:contentview.text name:@"star"];  
  131. }else {  
  132. [_delegate setSomthing:contentview.text name:@"xueli"];  
  133. }  
  134. [self.navigationController popViewControllerAnimated:YES];  
  135. [self.navigationController pushViewController:_delegate animated:YES];  
  136. [self.navigationController setNavigationBarHidden:NO];  
  137. }  
  138. @end 

小结:iPhone应用开发之UIPickerView使用DEMO的内容介绍完了,希望通过本文的学习对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-10 10:10:21

iPhoneUIPopoverCo

2011-08-11 10:03:43

iPhonecocoaNSRunLoop

2011-08-11 17:15:54

iPhone归档

2011-07-18 14:39:53

iPhone SDK UIKit

2011-08-17 15:19:38

iPhone应用数据

2011-08-08 13:50:29

iPhone开发 NSOperatio 多线程

2011-07-29 10:41:27

IPhone 应用开发 照相机

2011-08-09 13:22:31

iPhoneSqlite数据库

2011-08-19 13:34:33

iPhone应用ABAddressBo

2011-08-03 16:01:24

iPhone应用开发 自动登陆

2011-08-05 14:58:58

iPhone CoreAnimat 动画

2011-08-08 10:10:14

iPhone开发 图片 方法

2011-08-09 17:29:29

iPhone文件屏幕

2011-08-08 16:56:44

iPhone 字符处理 视图

2011-08-17 15:10:21

iPhone开发Web视图

2011-08-08 14:07:49

iPhone开发 字体

2011-07-27 10:16:41

iPhone SQLite 数据库

2011-08-01 18:27:58

iPhone开发 UISearchBa

2011-07-19 09:58:36

2011-07-19 09:46:38

点赞
收藏

51CTO技术栈公众号