我试图学习如何从一个选择器视图中选择一个对象以显示在一个TextBox中,六个小时之后我以为id最终破解了但没有。它的工作原理,但我只能让我的NSArray中的第一个项目显示在我的文本框中。Picker View只在文本框中选择NSArray中的第一个对象
Select
是我的选择器,arrstatus
是我的NSArray,text1
是我的文本框。
使用按钮来获得自己的价值:IBAction为下:
NSInteger selectedRow = [select selectedRowInComponent:0];
text1.text = [arrStatus objectAtIndex:selectedRow];
[text1 resignFirstResponder];
的代码休息:
.H
@interface pick5 : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate,UITextFieldDelegate>
{
UIPickerView *select;
NSArray *arrStatus;
}
.M
UIPickerView *select = [[UIPickerView alloc] initWithFrame:CGRectZero];
select.delegate = self;
select.dataSource = self;
[select setShowsSelectionIndicator:YES];
text1.inputView = select;
arrStatus = [[NSArray alloc] initWithObjects:@"bs88", @"bs60898", @"Memphis", @"California", @"Seattle",@"London",@"Paris", nil];
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
//One column
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
//set number of rows
return arrStatus.count;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
//set item per row
return [arrStatus objectAtIndex:row];
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)viewDidUnload
{
[self setText1:nil];
[self setResign:nil];
[self setText2:nil];
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (IBAction)resign:(id)sender {
NSInteger selectedRow = [select selectedRowInComponent:0];
text1.text = [arrStatus objectAtIndex: selectedRow];
[text1 resignFirstResponder];
}
@end
IM也得到黄色警告三角s local decalration of "select" hides instance variable
您是否尝试过记录selectedRow(在您的IBAction中)以查看它是否总是返回0,无论您在选取器视图中选择哪一行?您是否仍然收到本地声明错误,因为我没有看到您发布的代码中的任何内容会导致该错误? – rdelmar 2012-07-30 03:45:28
现在没有本地声明错误。将尝试记录并回报。 – JSA986 2012-07-30 09:14:35
排序实例变量错误导致了问题。感谢您帮助确认接受的答案 – JSA986 2012-07-30 10:04:48