UIPickerView使用DEMO
@interface Set_starViewController : UIViewController<UIPickerViewDelegate>{
UIPickerView*pickerview;
UILabel*contentview;
NSArray *content;//星座
id _delegate;
int_type;
}
-(id)initWithDelegate:(id)delegate type:(int)type;
- (void)setString:(id)sender;
@end
#import "Set_starViewController.h"
@implementation Set_starViewController
-(id)initWithDelegate:(id)delegate type:(int)type
{
self = [super init];
if (self != nil){
UILabel *titleText = [[UILabelalloc] initWithFrame: CGRectMake(0, 0, 200, 20)];
titleText.backgroundColor = [UIColor clearColor];
titleText.textAlignment= UITextAlignmentCenter;
titleText.textColor = [UIColorcolorWithRed:0.33green:0.33blue:0.33alpha:1.0];
[titleText setFont:[UIFont systemFontOfSize:15.0]];
[titleText setText:@"星座"];
self.navigationItem.titleView=titleText;
[titleText release];
_delegate = delegate;
UIButton*back = [[UIButton alloc] initWithFrame:CGRectMake(0.0,0.0,62.0,32.0)];
[back setBackgroundImage:[UIImage imageNamed:@"返回按钮.png"] forState:UIControlStateNormal];
[back setBackgroundImage:[UIImage imageNamed:@"返回按钮按下.png"] forState:UIControlStateHighlighted];
[back setBackgroundImage:[UIImage imageNamed:@"返回按钮.png"] forState:UIControlStateDisabled];
[back addTarget:_delegate
action:@selector(backView)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *add = [[UIBarButtonItem alloc]initWithCustomView:back];
[[self navigationItem] setLeftBarButtonItem:add];
[add release];
[back release];
UIBarButtonItem *save =nil;
save = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave
target:self
action:@selector(setString:)];
self.navigationItem.rightBarButtonItem = save;
save = nil;
[save release];
if (type == 0) {
content= [[NSArrayalloc]initWithObjects:@"水瓶座",@"双鱼座",@"白羊座",@"金牛座"
,@"双子座",@"巨蟹座",@"狮子座",@"处女座"
,@"天秤座",@"天蝎座",@"射手座",@"山羊座",nil];
_type = 0;
}else {
content= [[NSArrayalloc]initWithObjects:@"初中",@"高中",@"中技",@"中专",@"大专",@"本科",@"MBA",@"硕士"
,@"其他",nil];
_type = 1;
}
}
return self;}-(void) loadView{UIView*myview = [[[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame]autorelease];myview.autoresizesSubviews = YES;[myview setBackgroundColor:[UIColor colorWithPatternImage:[UIImageimageNamed:@"background.png"]]];self.view = myview;// 设置选择器pickerview = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0, 150.0, 320.0, 216.0)];pickerview.delegate = self;pickerview.showsSelectionIndicator = YES;[self.view addSubview:pickerview];contentview = [[UILabel alloc] initWithFrame:CGRectMake(80.0, 80.0, 100.0, 40.0)];contentview.backgroundColor = [UIColor clearColor];[self.view addSubview: contentview];}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning];}- (void)viewDidUnload {[super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil;}- (void)dealloc { [super dealloc]; [contentview release]; [pickerview release]; [content release];}#pragma mark -#pragma mark 处理方法//返回显示的列数- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView{return 1;}//返回当前列显示的行数- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{return [content count];}// 设置当前行的内容,若果行没有显示则自动释放- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{return [content objectAtIndex:row];}- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{//NSString *result = [pickerView pickerView:pickerView titleForRow:row forComponent:component];NSString *result = nil;result = [content objectAtIndex:row];NSLog(@"result: %@",result);contentview.text = result;[result release];}- (void)setString:(id)sender{//传递值if (_type ==0) {[_delegate setSomthing:contentview.text name:@"star"];}else {[_delegate setSomthing:contentview.text name:@"xueli"];}[self.navigationController popViewControllerAnimated:YES];[self.navigationController pushViewController:_delegate animated:YES];[self.navigationController setNavigationBarHidden:NO];}@end

浙公网安备 33010602011771号